<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
<title>All Classes (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="All Classes (ExoPlayer library)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":2,"i1":32,"i2":2,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":32,"i9":2,"i10":2,"i11":2,"i12":2,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":2,"i41":2,"i42":2,"i43":2,"i44":2,"i45":1,"i46":2,"i47":2,"i48":1,"i49":2,"i50":2,"i51":1,"i52":2,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":32,"i59":2,"i60":2,"i61":32,"i62":1,"i63":1,"i64":2,"i65":8,"i66":32,"i67":2,"i68":32,"i69":2,"i70":1,"i71":2,"i72":2,"i73":2,"i74":2,"i75":1,"i76":2,"i77":32,"i78":2,"i79":1,"i80":32,"i81":2,"i82":2,"i83":2,"i84":2,"i85":2,"i86":2,"i87":1,"i88":32,"i89":2,"i90":2,"i91":8,"i92":2,"i93":2,"i94":2,"i95":2,"i96":2,"i97":1,"i98":1,"i99":1,"i100":2,"i101":8,"i102":1,"i103":2,"i104":1,"i105":8,"i106":8,"i107":1,"i108":32,"i109":8,"i110":8,"i111":2,"i112":2,"i113":1,"i114":1,"i115":2,"i116":2,"i117":2,"i118":2,"i119":2,"i120":2,"i121":2,"i122":2,"i123":2,"i124":2,"i125":8,"i126":2,"i127":2,"i128":2,"i129":2,"i130":2,"i131":1,"i132":2,"i133":1,"i134":2,"i135":1,"i136":1,"i137":2,"i138":2,"i139":2,"i140":2,"i141":2,"i142":2,"i143":2,"i144":2,"i145":32,"i146":32,"i147":32,"i148":32,"i149":32,"i150":32,"i151":32,"i152":32,"i153":32,"i154":32,"i155":32,"i156":32,"i157":32,"i158":32,"i159":32,"i160":32,"i161":32,"i162":32,"i163":32,"i164":32,"i165":32,"i166":32,"i167":32,"i168":1,"i169":8,"i170":1,"i171":2,"i172":2,"i173":2,"i174":8,"i175":2,"i176":2,"i177":2,"i178":32,"i179":1,"i180":2,"i181":32,"i182":2,"i183":2,"i184":1,"i185":1,"i186":2,"i187":2,"i188":1,"i189":1,"i190":2,"i191":2,"i192":32,"i193":2,"i194":2,"i195":2,"i196":2,"i197":2,"i198":2,"i199":2,"i200":2,"i201":2,"i202":1,"i203":1,"i204":1,"i205":2,"i206":2,"i207":2,"i208":1,"i209":1,"i210":2,"i211":2,"i212":8,"i213":32,"i214":1,"i215":2,"i216":2,"i217":2,"i218":2,"i219":2,"i220":2,"i221":1,"i222":2,"i223":2,"i224":2,"i225":1,"i226":2,"i227":2,"i228":8,"i229":1,"i230":2,"i231":1,"i232":2,"i233":2,"i234":2,"i235":8,"i236":2,"i237":2,"i238":32,"i239":2,"i240":2,"i241":32,"i242":2,"i243":32,"i244":32,"i245":32,"i246":1,"i247":1,"i248":2,"i249":2,"i250":2,"i251":2,"i252":8,"i253":2,"i254":2,"i255":1,"i256":2,"i257":2,"i258":8,"i259":1,"i260":2,"i261":1,"i262":2,"i263":1,"i264":1,"i265":1,"i266":1,"i267":2,"i268":2,"i269":2,"i270":2,"i271":8,"i272":2,"i273":2,"i274":2,"i275":32,"i276":32,"i277":2,"i278":1,"i279":2,"i280":2,"i281":2,"i282":8,"i283":2,"i284":32,"i285":8,"i286":2,"i287":32,"i288":32,"i289":2,"i290":8,"i291":2,"i292":2,"i293":1,"i294":2,"i295":8,"i296":32,"i297":2,"i298":2,"i299":2,"i300":2,"i301":2,"i302":2,"i303":2,"i304":2,"i305":2,"i306":2,"i307":2,"i308":2,"i309":2,"i310":2,"i311":2,"i312":2,"i313":2,"i314":8,"i315":32,"i316":2,"i317":2,"i318":2,"i319":2,"i320":2,"i321":2,"i322":2,"i323":2,"i324":2,"i325":2,"i326":2,"i327":2,"i328":2,"i329":2,"i330":2,"i331":2,"i332":2,"i333":2,"i334":1,"i335":2,"i336":2,"i337":32,"i338":2,"i339":2,"i340":2,"i341":2,"i342":2,"i343":2,"i344":2,"i345":2,"i346":2,"i347":2,"i348":2,"i349":2,"i350":2,"i351":2,"i352":2,"i353":32,"i354":2,"i355":2,"i356":32,"i357":1,"i358":2,"i359":2,"i360":32,"i361":32,"i362":2,"i363":1,"i364":1,"i365":1,"i366":1,"i367":8,"i368":2,"i369":1,"i370":8,"i371":1,"i372":2,"i373":1,"i374":2,"i375":2,"i376":2,"i377":2,"i378":8,"i379":2,"i380":2,"i381":2,"i382":1,"i383":8,"i384":32,"i385":1,"i386":2,"i387":1,"i388":1,"i389":1,"i390":2,"i391":2,"i392":2,"i393":2,"i394":2,"i395":2,"i396":1,"i397":2,"i398":2,"i399":2,"i400":2,"i401":1,"i402":2,"i403":2,"i404":2,"i405":1,"i406":32,"i407":2,"i408":8,"i409":32,"i410":1,"i411":1,"i412":2,"i413":1,"i414":2,"i415":2,"i416":2,"i417":2,"i418":2,"i419":2,"i420":2,"i421":2,"i422":2,"i423":2,"i424":1,"i425":1,"i426":2,"i427":2,"i428":32,"i429":2,"i430":1,"i431":1,"i432":1,"i433":1,"i434":2,"i435":8,"i436":32,"i437":1,"i438":1,"i439":1,"i440":2,"i441":1,"i442":1,"i443":1,"i444":1,"i445":2,"i446":2,"i447":2,"i448":8,"i449":32,"i450":1,"i451":2,"i452":1,"i453":1,"i454":32,"i455":2,"i456":2,"i457":2,"i458":1,"i459":2,"i460":1,"i461":1,"i462":1,"i463":2,"i464":2,"i465":2,"i466":2,"i467":2,"i468":2,"i469":2,"i470":2,"i471":2,"i472":2,"i473":2,"i474":2,"i475":2,"i476":2,"i477":2,"i478":2,"i479":2,"i480":2,"i481":2,"i482":2,"i483":2,"i484":2,"i485":8,"i486":2,"i487":2,"i488":2,"i489":2,"i490":2,"i491":1,"i492":2,"i493":2,"i494":2,"i495":2,"i496":2,"i497":2,"i498":2,"i499":2,"i500":2,"i501":1,"i502":2,"i503":2,"i504":2,"i505":2,"i506":8,"i507":2,"i508":2,"i509":2,"i510":8,"i511":2,"i512":2,"i513":32,"i514":1,"i515":2,"i516":2,"i517":2,"i518":2,"i519":2,"i520":8,"i521":2,"i522":2,"i523":32,"i524":32,"i525":2,"i526":2,"i527":2,"i528":2,"i529":2,"i530":2,"i531":2,"i532":2,"i533":2,"i534":2,"i535":2,"i536":2,"i537":2,"i538":2,"i539":2,"i540":2,"i541":32,"i542":2,"i543":2,"i544":2,"i545":2,"i546":8,"i547":2,"i548":2,"i549":2,"i550":2,"i551":2,"i552":2,"i553":2,"i554":2,"i555":2,"i556":2,"i557":1,"i558":1,"i559":2,"i560":2,"i561":1,"i562":2,"i563":1,"i564":2,"i565":2,"i566":2,"i567":2,"i568":1,"i569":2,"i570":2,"i571":2,"i572":32,"i573":2,"i574":2,"i575":2,"i576":2,"i577":2,"i578":2,"i579":32,"i580":2,"i581":2,"i582":8,"i583":1,"i584":1,"i585":1,"i586":1,"i587":8,"i588":8,"i589":1,"i590":2,"i591":2,"i592":2,"i593":2,"i594":1,"i595":1,"i596":2,"i597":8,"i598":1,"i599":8,"i600":32,"i601":8,"i602":8,"i603":2,"i604":2,"i605":2,"i606":2,"i607":2,"i608":2,"i609":2,"i610":2,"i611":1,"i612":2,"i613":2,"i614":2,"i615":8,"i616":2,"i617":2,"i618":2,"i619":2,"i620":2,"i621":2,"i622":2,"i623":2,"i624":8,"i625":1,"i626":2,"i627":2,"i628":2,"i629":2,"i630":2,"i631":2,"i632":2,"i633":2,"i634":2,"i635":1,"i636":1,"i637":1,"i638":1,"i639":2,"i640":1,"i641":1,"i642":2,"i643":1,"i644":8,"i645":1,"i646":2,"i647":1,"i648":2,"i649":2,"i650":2,"i651":2,"i652":2,"i653":2,"i654":2,"i655":2,"i656":2,"i657":1,"i658":2,"i659":2,"i660":2,"i661":32,"i662":2,"i663":2,"i664":1,"i665":1,"i666":1,"i667":2,"i668":1,"i669":1,"i670":2,"i671":8,"i672":2,"i673":2,"i674":8,"i675":1,"i676":2,"i677":8,"i678":8,"i679":2,"i680":2,"i681":1,"i682":8,"i683":2,"i684":2,"i685":2,"i686":2,"i687":2,"i688":2,"i689":2,"i690":2,"i691":2,"i692":1,"i693":1,"i694":2,"i695":2,"i696":2,"i697":32,"i698":2,"i699":2,"i700":2,"i701":2,"i702":1,"i703":1,"i704":2,"i705":1,"i706":2,"i707":2,"i708":1,"i709":1,"i710":1,"i711":2,"i712":1,"i713":1,"i714":32,"i715":1,"i716":1,"i717":1,"i718":1,"i719":1,"i720":2,"i721":1,"i722":1,"i723":2,"i724":1,"i725":2,"i726":2,"i727":8,"i728":32,"i729":2,"i730":1,"i731":1,"i732":1,"i733":2,"i734":1,"i735":2,"i736":2,"i737":2,"i738":2,"i739":2,"i740":2,"i741":32,"i742":2,"i743":32,"i744":2,"i745":2,"i746":2,"i747":2,"i748":2,"i749":2,"i750":2,"i751":2,"i752":1,"i753":32,"i754":2,"i755":2,"i756":2,"i757":32,"i758":2,"i759":2,"i760":2,"i761":2,"i762":2,"i763":2,"i764":2,"i765":8,"i766":2,"i767":2,"i768":2,"i769":1,"i770":2,"i771":2,"i772":2,"i773":2,"i774":8,"i775":2,"i776":1,"i777":2,"i778":2,"i779":2,"i780":2,"i781":2,"i782":2,"i783":2,"i784":2,"i785":2,"i786":2,"i787":1,"i788":1,"i789":1,"i790":2,"i791":2,"i792":2,"i793":2,"i794":2,"i795":1,"i796":1,"i797":32,"i798":2,"i799":2,"i800":32,"i801":32,"i802":1,"i803":2,"i804":1,"i805":32,"i806":32,"i807":32,"i808":2,"i809":32,"i810":32,"i811":32,"i812":2,"i813":1,"i814":1,"i815":2,"i816":1,"i817":2,"i818":1,"i819":1,"i820":2,"i821":2,"i822":1,"i823":1,"i824":1,"i825":32,"i826":32,"i827":2,"i828":32,"i829":2,"i830":2,"i831":2,"i832":2,"i833":8,"i834":2,"i835":2,"i836":2,"i837":2,"i838":2,"i839":1,"i840":1,"i841":2,"i842":2,"i843":2,"i844":2,"i845":2,"i846":2,"i847":2,"i848":2,"i849":2,"i850":2,"i851":2,"i852":8,"i853":1,"i854":32,"i855":32,"i856":1,"i857":1,"i858":32,"i859":32,"i860":32,"i861":32,"i862":2,"i863":1,"i864":2,"i865":2,"i866":32,"i867":2,"i868":2,"i869":2,"i870":2,"i871":32,"i872":2,"i873":1,"i874":2,"i875":2,"i876":1,"i877":2,"i878":2,"i879":2,"i880":2,"i881":2,"i882":2,"i883":2,"i884":2,"i885":1,"i886":1,"i887":2,"i888":2,"i889":2,"i890":8,"i891":2,"i892":2,"i893":2,"i894":1,"i895":8,"i896":1,"i897":32,"i898":32,"i899":1,"i900":1,"i901":2,"i902":1,"i903":2,"i904":2,"i905":2,"i906":2,"i907":2,"i908":2,"i909":2,"i910":2,"i911":2,"i912":2,"i913":2,"i914":2,"i915":2,"i916":1,"i917":1,"i918":2,"i919":1,"i920":2,"i921":1,"i922":1,"i923":2,"i924":1,"i925":2,"i926":1,"i927":1,"i928":1,"i929":1,"i930":2,"i931":2,"i932":1,"i933":2,"i934":2,"i935":2,"i936":2,"i937":2,"i938":2,"i939":2,"i940":2,"i941":2,"i942":2,"i943":2,"i944":2,"i945":2,"i946":2,"i947":2,"i948":2,"i949":2,"i950":2,"i951":2,"i952":2,"i953":2,"i954":2,"i955":1,"i956":2,"i957":2,"i958":1,"i959":1,"i960":1,"i961":1,"i962":1,"i963":1,"i964":1,"i965":1,"i966":1,"i967":2,"i968":2,"i969":1,"i970":2,"i971":2,"i972":2,"i973":2,"i974":2,"i975":2,"i976":2,"i977":2,"i978":2,"i979":1,"i980":1,"i981":2,"i982":2,"i983":2,"i984":2,"i985":2,"i986":8,"i987":2,"i988":2,"i989":2,"i990":2,"i991":2,"i992":2,"i993":2,"i994":2,"i995":2,"i996":1,"i997":1,"i998":1,"i999":2,"i1000":32,"i1001":2,"i1002":1,"i1003":1,"i1004":8,"i1005":1,"i1006":2,"i1007":2,"i1008":2,"i1009":32,"i1010":2,"i1011":2,"i1012":2,"i1013":2,"i1014":1,"i1015":2,"i1016":2,"i1017":2,"i1018":2,"i1019":2,"i1020":2,"i1021":2,"i1022":32,"i1023":2,"i1024":32,"i1025":32,"i1026":2,"i1027":1,"i1028":2,"i1029":2,"i1030":1,"i1031":1,"i1032":2,"i1033":2,"i1034":2,"i1035":2,"i1036":2,"i1037":2,"i1038":1,"i1039":2,"i1040":1,"i1041":2,"i1042":2,"i1043":2,"i1044":2,"i1045":1,"i1046":2,"i1047":2,"i1048":32,"i1049":2,"i1050":2,"i1051":2,"i1052":1,"i1053":1,"i1054":2,"i1055":32,"i1056":1,"i1057":2,"i1058":2,"i1059":1,"i1060":2,"i1061":2,"i1062":2,"i1063":1,"i1064":2,"i1065":1,"i1066":2,"i1067":1,"i1068":2,"i1069":1,"i1070":2,"i1071":2,"i1072":1,"i1073":32,"i1074":2,"i1075":32,"i1076":1,"i1077":2,"i1078":2,"i1079":1,"i1080":32,"i1081":2,"i1082":2,"i1083":2,"i1084":2,"i1085":2,"i1086":8,"i1087":32,"i1088":8,"i1089":8,"i1090":32,"i1091":2,"i1092":2,"i1093":2,"i1094":2,"i1095":2,"i1096":2,"i1097":2,"i1098":2,"i1099":2,"i1100":2,"i1101":1,"i1102":1,"i1103":2,"i1104":1,"i1105":1,"i1106":2,"i1107":2,"i1108":2,"i1109":2,"i1110":2,"i1111":2,"i1112":2,"i1113":2,"i1114":2,"i1115":8,"i1116":2,"i1117":2,"i1118":2,"i1119":2,"i1120":2,"i1121":2,"i1122":2,"i1123":2,"i1124":32,"i1125":32,"i1126":2,"i1127":2,"i1128":2,"i1129":2,"i1130":2,"i1131":2,"i1132":2,"i1133":2,"i1134":1,"i1135":2};
var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],8:["t4","Exception Summary"],32:["t6","Annotation Types Summary"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "./";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
</div>
<div class="allClassesContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Interface Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Exception Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Annotation Types Summary</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AacUtil.html" title="class in com.google.android.exoplayer2.audio">AacUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling AAC audio streams.</div>
</th>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AacUtil.AacAudioObjectType.html" title="annotation in com.google.android.exoplayer2.audio">AacUtil.AacAudioObjectType</a></td>
<th class="colLast" scope="row">
<div class="block">Valid AAC Audio object types.</div>
</th>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AacUtil.Config.html" title="class in com.google.android.exoplayer2.audio">AacUtil.Config</a></td>
<th class="colLast" scope="row">
<div class="block">Holds sample format information for AAC audio.</div>
</th>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/AbstractConcatenatedTimeline.html" title="class in com.google.android.exoplayer2">AbstractConcatenatedTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">Abstract base class for the concatenation of one or more <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>s.</div>
</th>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html" title="class in com.google.android.exoplayer2.extractor.ts">Ac3Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from (E-)AC-3 bitstreams.</div>
</th>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/Ac3Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">Ac3Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous (E-)AC-3 byte stream and extracts individual samples.</div>
</th>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/Ac3Util.html" title="class in com.google.android.exoplayer2.audio">Ac3Util</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for parsing Dolby TrueHD and (E-)AC-3 syncframes.</div>
</th>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.html" title="class in com.google.android.exoplayer2.audio">Ac3Util.SyncFrameInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds sample format information as presented by a syncframe header.</div>
</th>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.StreamType.html" title="annotation in com.google.android.exoplayer2.audio">Ac3Util.SyncFrameInfo.StreamType</a></td>
<th class="colLast" scope="row">
<div class="block">AC3 stream types.</div>
</th>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html" title="class in com.google.android.exoplayer2.extractor.ts">Ac4Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from AC-4 bitstreams.</div>
</th>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/Ac4Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">Ac4Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous AC-4 byte stream and extracts individual samples.</div>
</th>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/Ac4Util.html" title="class in com.google.android.exoplayer2.audio">Ac4Util</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for parsing AC-4 frames, which are access units in AC-4 bitstreams.</div>
</th>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/Ac4Util.SyncFrameInfo.html" title="class in com.google.android.exoplayer2.audio">Ac4Util.SyncFrameInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds sample format information as presented by a syncframe header.</div>
</th>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.html" title="class in com.google.android.exoplayer2.testutil">Action</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for actions to perform during playback tests.</div>
</th>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.AddMediaItems.html" title="class in com.google.android.exoplayer2.testutil">Action.AddMediaItems</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#addMediaSources(java.util.List)"><code>SimpleExoPlayer.addMediaSources(List)</code></a>.</div>
</th>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.ClearMediaItems.html" title="class in com.google.android.exoplayer2.testutil">Action.ClearMediaItems</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/BasePlayer.html#clearMediaItems()"><code>BasePlayer.clearMediaItems()</code></a>}.</div>
</th>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.ClearVideoSurface.html" title="class in com.google.android.exoplayer2.testutil">Action.ClearVideoSurface</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#clearVideoSurface()"><code>SimpleExoPlayer.clearVideoSurface()</code></a>.</div>
</th>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.ExecuteRunnable.html" title="class in com.google.android.exoplayer2.testutil">Action.ExecuteRunnable</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <code>Runnable.run()</code>.</div>
</th>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.MoveMediaItem.html" title="class in com.google.android.exoplayer2.testutil">Action.MoveMediaItem</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/BasePlayer.html#moveMediaItem(int,int)"><code>BasePlayer.moveMediaItem(int, int)</code></a>.</div>
</th>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.PlayUntilPosition.html" title="class in com.google.android.exoplayer2.testutil">Action.PlayUntilPosition</a></td>
<th class="colLast" scope="row">
<div class="block">Schedules a play action to be executed, waits until the player reaches the specified position,
 and pauses the player again.</div>
</th>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.Prepare.html" title="class in com.google.android.exoplayer2.testutil">Action.Prepare</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#prepare()"><code>Player.prepare()</code></a>.</div>
</th>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.RemoveMediaItem.html" title="class in com.google.android.exoplayer2.testutil">Action.RemoveMediaItem</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/BasePlayer.html#removeMediaItem(int)"><code>BasePlayer.removeMediaItem(int)</code></a>.</div>
</th>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.RemoveMediaItems.html" title="class in com.google.android.exoplayer2.testutil">Action.RemoveMediaItems</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#removeMediaItems(int,int)"><code>SimpleExoPlayer.removeMediaItems(int, int)</code></a>.</div>
</th>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.Seek.html" title="class in com.google.android.exoplayer2.testutil">Action.Seek</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#seekTo(long)"><code>Player.seekTo(long)</code></a> or <a href="com/google/android/exoplayer2/Player.html#seekTo(int,long)"><code>Player.seekTo(int, long)</code></a>.</div>
</th>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SendMessages.html" title="class in com.google.android.exoplayer2.testutil">Action.SendMessages</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/ExoPlayer.html#createMessage(com.google.android.exoplayer2.PlayerMessage.Target)"><code>ExoPlayer.createMessage(Target)</code></a> and <a href="com/google/android/exoplayer2/PlayerMessage.html#send()"><code>PlayerMessage.send()</code></a>.</div>
</th>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetAudioAttributes.html" title="class in com.google.android.exoplayer2.testutil">Action.SetAudioAttributes</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#setAudioAttributes(com.google.android.exoplayer2.audio.AudioAttributes,boolean)"><code>SimpleExoPlayer.setAudioAttributes(AudioAttributes, boolean)</code></a>.</div>
</th>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetMediaItems.html" title="class in com.google.android.exoplayer2.testutil">Action.SetMediaItems</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#setMediaSources(java.util.List,int,long)"><code>SimpleExoPlayer.setMediaSources(List, int, long)</code></a>.</div>
</th>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetMediaItemsResetPosition.html" title="class in com.google.android.exoplayer2.testutil">Action.SetMediaItemsResetPosition</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#setMediaSources(java.util.List,boolean)"><code>SimpleExoPlayer.setMediaSources(List, boolean)</code></a>.</div>
</th>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetPlaybackParameters.html" title="class in com.google.android.exoplayer2.testutil">Action.SetPlaybackParameters</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#setPlaybackParameters(com.google.android.exoplayer2.PlaybackParameters)"><code>Player.setPlaybackParameters(PlaybackParameters)</code></a>.</div>
</th>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetPlayWhenReady.html" title="class in com.google.android.exoplayer2.testutil">Action.SetPlayWhenReady</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#setPlayWhenReady(boolean)"><code>Player.setPlayWhenReady(boolean)</code></a>.</div>
</th>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetRendererDisabled.html" title="class in com.google.android.exoplayer2.testutil">Action.SetRendererDisabled</a></td>
<th class="colLast" scope="row">
<div class="block">Updates the <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a> of a <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector</code></a> to specify whether the
 renderer at a given index should be disabled.</div>
</th>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetRepeatMode.html" title="class in com.google.android.exoplayer2.testutil">Action.SetRepeatMode</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#setRepeatMode(int)"><code>Player.setRepeatMode(int)</code></a>.</div>
</th>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetShuffleModeEnabled.html" title="class in com.google.android.exoplayer2.testutil">Action.SetShuffleModeEnabled</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#setShuffleModeEnabled(boolean)"><code>Player.setShuffleModeEnabled(boolean)</code></a>.</div>
</th>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetShuffleOrder.html" title="class in com.google.android.exoplayer2.testutil">Action.SetShuffleOrder</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/ExoPlayer.html#setShuffleOrder(com.google.android.exoplayer2.source.ShuffleOrder)"><code>ExoPlayer.setShuffleOrder(ShuffleOrder)</code></a> .</div>
</th>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.SetVideoSurface.html" title="class in com.google.android.exoplayer2.testutil">Action.SetVideoSurface</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/SimpleExoPlayer.html#setVideoSurface(android.view.Surface)"><code>SimpleExoPlayer.setVideoSurface(Surface)</code></a>.</div>
</th>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.Stop.html" title="class in com.google.android.exoplayer2.testutil">Action.Stop</a></td>
<th class="colLast" scope="row">
<div class="block">Calls <a href="com/google/android/exoplayer2/Player.html#stop()"><code>Player.stop()</code></a> or <a href="com/google/android/exoplayer2/Player.html#stop(boolean)"><code>Player.stop(boolean)</code></a>.</div>
</th>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.ThrowPlaybackException.html" title="class in com.google.android.exoplayer2.testutil">Action.ThrowPlaybackException</a></td>
<th class="colLast" scope="row">
<div class="block">Throws a playback exception on the playback thread.</div>
</th>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForIsLoading.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForIsLoading</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for a specified loading state, returning either immediately or after a call to <a href="com/google/android/exoplayer2/Player.Listener.html#onIsLoadingChanged(boolean)"><code>Player.Listener.onIsLoadingChanged(boolean)</code></a>.</div>
</th>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForMessage.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForMessage</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for a player message to arrive.</div>
</th>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForPendingPlayerCommands.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPendingPlayerCommands</a></td>
<th class="colLast" scope="row">
<div class="block">Waits until the player acknowledged all pending player commands.</div>
</th>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForPlaybackState.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPlaybackState</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for a specified playback state, returning either immediately or after a call to <a href="com/google/android/exoplayer2/Player.Listener.html#onPlaybackStateChanged(int)"><code>Player.Listener.onPlaybackStateChanged(int)</code></a>.</div>
</th>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPlayWhenReady</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for a specified playWhenReady value, returning either immediately or after a call to
 <a href="com/google/android/exoplayer2/Player.Listener.html#onPlayWhenReadyChanged(boolean,int)"><code>Player.Listener.onPlayWhenReadyChanged(boolean, int)</code></a>.</div>
</th>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForPositionDiscontinuity</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for <a href="com/google/android/exoplayer2/Player.Listener.html#onPositionDiscontinuity(com.google.android.exoplayer2.Player.PositionInfo,com.google.android.exoplayer2.Player.PositionInfo,int)"><code>Player.Listener.onPositionDiscontinuity(Player.PositionInfo,
 Player.PositionInfo, int)</code></a>.</div>
</th>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html" title="class in com.google.android.exoplayer2.testutil">Action.WaitForTimelineChanged</a></td>
<th class="colLast" scope="row">
<div class="block">Waits for <a href="com/google/android/exoplayer2/Player.Listener.html#onTimelineChanged(com.google.android.exoplayer2.Timeline,int)"><code>Player.Listener.onTimelineChanged(Timeline, int)</code></a>.</div>
</th>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html" title="class in com.google.android.exoplayer2.offline">ActionFileUpgradeUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility class for upgrading legacy action files into <a href="com/google/android/exoplayer2/offline/DefaultDownloadIndex.html" title="class in com.google.android.exoplayer2.offline"><code>DefaultDownloadIndex</code></a>.</div>
</th>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html" title="interface in com.google.android.exoplayer2.offline">ActionFileUpgradeUtil.DownloadIdProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides download IDs during action file upgrade.</div>
</th>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule</a></td>
<th class="colLast" scope="row">
<div class="block">Schedules a sequence of <a href="com/google/android/exoplayer2/testutil/Action.html" title="class in com.google.android.exoplayer2.testutil"><code>Action</code></a>s for execution during a test.</div>
</th>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/testutil/ActionSchedule.html" title="class in com.google.android.exoplayer2.testutil"><code>ActionSchedule</code></a> instances.</div>
</th>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html" title="interface in com.google.android.exoplayer2.testutil">ActionSchedule.Callback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback to notify listener that the action schedule has finished.</div>
</th>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.PlayerRunnable.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule.PlayerRunnable</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a wrapper for a <a href="https://developer.android.com/reference/java/lang/Runnable.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Runnable</code></a> which has access to the player.</div>
</th>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.html" title="class in com.google.android.exoplayer2.testutil">ActionSchedule.PlayerTarget</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a wrapper for a <a href="com/google/android/exoplayer2/PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2"><code>PlayerMessage.Target</code></a> which has access to the player when handling messages.</div>
</th>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.Callback.html" title="interface in com.google.android.exoplayer2.testutil">ActionSchedule.PlayerTarget.Callback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback to be called when message arrives.</div>
</th>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/AdaptationSet.html" title="class in com.google.android.exoplayer2.source.dash.manifest">AdaptationSet</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a set of interchangeable encoded versions of a media content component.</div>
</th>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection">AdaptiveTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">A bandwidth based adaptive <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a>, whose selected track is updated to be the
 one of highest quality given the current network conditions and the state of the buffer.</div>
</th>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint.html" title="class in com.google.android.exoplayer2.trackselection">AdaptiveTrackSelection.AdaptationCheckpoint</a></td>
<th class="colLast" scope="row">
<div class="block">Checkpoint to determine allocated bandwidth.</div>
</th>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html" title="class in com.google.android.exoplayer2.trackselection">AdaptiveTrackSelection.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection"><code>AdaptiveTrackSelection</code></a> instances.</div>
</th>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html" title="class in com.google.android.exoplayer2.testutil">AdditionalFailureInfo</a></td>
<th class="colLast" scope="row">
<div class="block">A JUnit <code>Rule</code> that attaches additional info to any errors/exceptions thrown by the test.</div>
</th>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AdOverlayInfo.html" title="class in com.google.android.exoplayer2.ui">AdOverlayInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Provides information about an overlay view shown on top of an ad view group.</div>
</th>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AdOverlayInfo.Purpose.html" title="annotation in com.google.android.exoplayer2.ui">AdOverlayInfo.Purpose</a></td>
<th class="colLast" scope="row">
<div class="block">The purpose of the overlay.</div>
</th>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.html" title="class in com.google.android.exoplayer2.source.ads">AdPlaybackState</a></td>
<th class="colLast" scope="row">
<div class="block">Represents ad group times and information on the state and URIs of ads within each ad group.</div>
</th>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html" title="class in com.google.android.exoplayer2.source.ads">AdPlaybackState.AdGroup</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a group of ads, with information about their states.</div>
</th>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html" title="annotation in com.google.android.exoplayer2.source.ads">AdPlaybackState.AdState</a></td>
<th class="colLast" scope="row">
<div class="block">Represents the state of an ad in an ad group.</div>
</th>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdsLoader.html" title="interface in com.google.android.exoplayer2.source.ads">AdsLoader</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for loaders of ads, which can be used with <a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.html" title="class in com.google.android.exoplayer2.source.ads"><code>AdsMediaSource</code></a>.</div>
</th>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html" title="interface in com.google.android.exoplayer2.source.ads">AdsLoader.EventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for ads loader events.</div>
</th>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.html" title="class in com.google.android.exoplayer2.source.ads">AdsMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> that inserts ads linearly into a provided content media source.</div>
</th>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html" title="class in com.google.android.exoplayer2.source.ads">AdsMediaSource.AdLoadException</a></td>
<th class="colLast" scope="row">
<div class="block">Wrapper for exceptions that occur while loading ads, which are notified via <a href="com/google/android/exoplayer2/source/MediaSourceEventListener.html#onLoadError(int,com.google.android.exoplayer2.source.MediaSource.MediaPeriodId,com.google.android.exoplayer2.source.LoadEventInfo,com.google.android.exoplayer2.source.MediaLoadData,java.io.IOException,boolean)"><code>MediaSourceEventListener.onLoadError(int, MediaPeriodId, LoadEventInfo, MediaLoadData,
 IOException, boolean)</code></a>.</div>
</th>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html" title="annotation in com.google.android.exoplayer2.source.ads">AdsMediaSource.AdLoadException.Type</a></td>
<th class="colLast" scope="row">
<div class="block">Types of ad load exceptions.</div>
</th>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts">AdtsExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from AAC bit streams with ADTS framing.</div>
</th>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/AdtsExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.ts">AdtsExtractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/AdtsReader.html" title="class in com.google.android.exoplayer2.extractor.ts">AdtsReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous ADTS byte stream and extracts individual frames.</div>
</th>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AdViewProvider.html" title="interface in com.google.android.exoplayer2.ui">AdViewProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides information about views for the ad playback UI.</div>
</th>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.html" title="class in com.google.android.exoplayer2.upstream.crypto">AesCipherDataSink</a></td>
<th class="colLast" scope="row">
<div class="block">A wrapping <a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink</code></a> that encrypts the data being consumed.</div>
</th>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/crypto/AesCipherDataSource.html" title="class in com.google.android.exoplayer2.upstream.crypto">AesCipherDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> that decrypts the data read from an upstream source.</div>
</th>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html" title="class in com.google.android.exoplayer2.upstream.crypto">AesFlushingCipher</a></td>
<th class="colLast" scope="row">
<div class="block">A flushing variant of a AES/CTR/NoPadding <a href="https://developer.android.com/reference/javax/crypto/Cipher.html" title="class or interface in javax.crypto" class="externalLink" target="_top"><code>Cipher</code></a>.</div>
</th>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Allocation.html" title="class in com.google.android.exoplayer2.upstream">Allocation</a></td>
<th class="colLast" scope="row">
<div class="block">An allocation within a byte array.</div>
</th>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Allocator.html" title="interface in com.google.android.exoplayer2.upstream">Allocator</a></td>
<th class="colLast" scope="row">
<div class="block">A source of allocations.</div>
</th>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/amr/AmrExtractor.html" title="class in com.google.android.exoplayer2.extractor.amr">AmrExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the AMR containers format (either AMR or AMR-WB).</div>
</th>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.amr">AmrExtractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/AnalyticsCollector.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsCollector</a></td>
<th class="colLast" scope="row">
<div class="block">Data collector that forwards analytics events to <a href="com/google/android/exoplayer2/analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsListeners</code></a>.</div>
</th>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics">AnalyticsListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for analytics events.</div>
</th>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html" title="annotation in com.google.android.exoplayer2.analytics">AnalyticsListener.EventFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Events that can be reported via <a href="com/google/android/exoplayer2/analytics/AnalyticsListener.html#onEvents(com.google.android.exoplayer2.Player,com.google.android.exoplayer2.analytics.AnalyticsListener.Events)"><code>AnalyticsListener.onEvents(Player, Events)</code></a>.</div>
</th>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsListener.Events</a></td>
<th class="colLast" scope="row">
<div class="block">A set of <a href="com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html" title="annotation in com.google.android.exoplayer2.analytics"><code>AnalyticsListener.EventFlags</code></a>.</div>
</th>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.EventTime.html" title="class in com.google.android.exoplayer2.analytics">AnalyticsListener.EventTime</a></td>
<th class="colLast" scope="row">
<div class="block">Time information of an event.</div>
</th>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/ApicFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">ApicFrame</a></td>
<th class="colLast" scope="row">
<div class="block">APIC (Attached Picture) ID3 frame.</div>
</th>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/dvbsi/AppInfoTable.html" title="class in com.google.android.exoplayer2.metadata.dvbsi">AppInfoTable</a></td>
<th class="colLast" scope="row">
<div class="block">A representation of a DVB Application Information Table (AIT).</div>
</th>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/dvbsi/AppInfoTableDecoder.html" title="class in com.google.android.exoplayer2.metadata.dvbsi">AppInfoTableDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decoder for the DVB Application Information Table (AIT).</div>
</th>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html" title="class in com.google.android.exoplayer2.ui">AspectRatioFrameLayout</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="https://developer.android.com/reference/android/widget/FrameLayout.html" title="class or interface in android.widget" class="externalLink" target="_top"><code>FrameLayout</code></a> that resizes itself to match a specified aspect ratio.</div>
</th>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AspectRatioFrameLayout.AspectRatioListener.html" title="interface in com.google.android.exoplayer2.ui">AspectRatioFrameLayout.AspectRatioListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be notified about changes of the aspect ratios of this view.</div>
</th>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/AspectRatioFrameLayout.ResizeMode.html" title="annotation in com.google.android.exoplayer2.ui">AspectRatioFrameLayout.ResizeMode</a></td>
<th class="colLast" scope="row">
<div class="block">Resize modes for <a href="com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html" title="class in com.google.android.exoplayer2.ui"><code>AspectRatioFrameLayout</code></a>.</div>
</th>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/Assertions.html" title="class in com.google.android.exoplayer2.util">Assertions</a></td>
<th class="colLast" scope="row">
<div class="block">Provides methods for asserting the truth of expressions and properties.</div>
</th>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/AssetDataSource.html" title="class in com.google.android.exoplayer2.upstream">AssetDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading from a local asset.</div>
</th>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/AssetDataSource.AssetDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">AssetDataSource.AssetDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a> is encountered reading a local asset.</div>
</th>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/AtomicFile.html" title="class in com.google.android.exoplayer2.util">AtomicFile</a></td>
<th class="colLast" scope="row">
<div class="block">A helper class for performing atomic operations on a file by creating a backup file until a write
 has successfully completed.</div>
</th>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes</a></td>
<th class="colLast" scope="row">
<div class="block">Attributes for audio playback, which configure the underlying platform <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</th>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioAttributes.Builder.html" title="class in com.google.android.exoplayer2.audio">AudioAttributes.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/audio/AudioAttributes.html" title="class in com.google.android.exoplayer2.audio"><code>AudioAttributes</code></a>.</div>
</th>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioCapabilities.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilities</a></td>
<th class="colLast" scope="row">
<div class="block">Represents the set of audio formats that a device is capable of playing.</div>
</th>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.html" title="class in com.google.android.exoplayer2.audio">AudioCapabilitiesReceiver</a></td>
<th class="colLast" scope="row">
<div class="block">Receives broadcast events indicating changes to the device's audio capabilities, notifying a
 <a href="com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioCapabilitiesReceiver.Listener</code></a> when audio capability changes occur.</div>
</th>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioCapabilitiesReceiver.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener notified when audio capabilities change.</div>
</th>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioListener.html" title="interface in com.google.android.exoplayer2.audio">AudioListener</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2"><code>Player.Listener</code></a>.</div>
</th>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio">AudioProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for audio processors, which take audio data as input and transform it, potentially
 modifying its channel count, encoding and/or sample rate.</div>
</th>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.AudioFormat</a></td>
<th class="colLast" scope="row">
<div class="block">PCM audio format that may be handled by an audio processor.</div>
</th>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html" title="class in com.google.android.exoplayer2.audio">AudioProcessor.UnhandledAudioFormatException</a></td>
<th class="colLast" scope="row">
<div class="block">Exception thrown when a processor can't be configured for a given input audio format.</div>
</th>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio">AudioRendererEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of audio <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div>
</th>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.audio">AudioRendererEventListener.EventDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Dispatches events to an <a href="com/google/android/exoplayer2/audio/AudioRendererEventListener.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioRendererEventListener</code></a>.</div>
</th>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio">AudioSink</a></td>
<th class="colLast" scope="row">
<div class="block">A sink that consumes audio data.</div>
</th>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.ConfigurationException.html" title="class in com.google.android.exoplayer2.audio">AudioSink.ConfigurationException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs configuring the sink.</div>
</th>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.InitializationException.html" title="class in com.google.android.exoplayer2.audio">AudioSink.InitializationException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs initializing the sink.</div>
</th>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.Listener.html" title="interface in com.google.android.exoplayer2.audio">AudioSink.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for audio sink events.</div>
</th>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.SinkFormatSupport.html" title="annotation in com.google.android.exoplayer2.audio">AudioSink.SinkFormatSupport</a></td>
<th class="colLast" scope="row">
<div class="block">The level of support the sink provides for a format.</div>
</th>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.UnexpectedDiscontinuityException.html" title="class in com.google.android.exoplayer2.audio">AudioSink.UnexpectedDiscontinuityException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the sink encounters an unexpected timestamp discontinuity.</div>
</th>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AudioSink.WriteException.html" title="class in com.google.android.exoplayer2.audio">AudioSink.WriteException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs writing to the sink.</div>
</th>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/AuxEffectInfo.html" title="class in com.google.android.exoplayer2.audio">AuxEffectInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Represents auxiliary effect information, which can be used to attach an auxiliary effect to an
 underlying <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</th>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/AvcConfig.html" title="class in com.google.android.exoplayer2.video">AvcConfig</a></td>
<th class="colLast" scope="row">
<div class="block">AVC configuration data.</div>
</th>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter</a></td>
<th class="colLast" scope="row">
<div class="block">Provides estimates of the currently available bandwidth.</div>
</th>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.html" title="interface in com.google.android.exoplayer2.upstream">BandwidthMeter.EventListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener of <a href="com/google/android/exoplayer2/upstream/BandwidthMeter.html" title="interface in com.google.android.exoplayer2.upstream"><code>BandwidthMeter</code></a> events.</div>
</th>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.upstream">BandwidthMeter.EventListener.EventDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Event dispatcher which allows listener registration.</div>
</th>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/BaseAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">BaseAudioProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for audio processors that keep an output buffer and an internal buffer that is reused
 whenever input is queued.</div>
</th>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/BaseDataSource.html" title="class in com.google.android.exoplayer2.upstream">BaseDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">Base <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> implementation to keep a list of <a href="com/google/android/exoplayer2/upstream/TransferListener.html" title="interface in com.google.android.exoplayer2.upstream"><code>TransferListener</code></a>s.</div>
</th>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">BaseMediaChunk</a></td>
<th class="colLast" scope="row">
<div class="block">A base implementation of <a href="com/google/android/exoplayer2/source/chunk/MediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>MediaChunk</code></a> that outputs to a <a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html" title="class in com.google.android.exoplayer2.source.chunk"><code>BaseMediaChunkOutput</code></a>.</div>
</th>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunkIterator.html" title="class in com.google.android.exoplayer2.source.chunk">BaseMediaChunkIterator</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for <a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>MediaChunkIterator</code></a>s.</div>
</th>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html" title="class in com.google.android.exoplayer2.source.chunk">BaseMediaChunkOutput</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkExtractor.TrackOutputProvider</code></a> that provides <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutputs</code></a> based on a
 predefined mapping from track type to output.</div>
</th>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/BaseMediaSource.html" title="class in com.google.android.exoplayer2.source">BaseMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Base <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> implementation to handle parallel reuse and to keep a list of <a href="com/google/android/exoplayer2/source/MediaSourceEventListener.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceEventListener</code></a>s.</div>
</th>
</tr>
<tr id="i122" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/BasePlayer.html" title="class in com.google.android.exoplayer2">BasePlayer</a></td>
<th class="colLast" scope="row">
<div class="block">Abstract base <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> which implements common implementation independent methods.</div>
</th>
</tr>
<tr id="i123" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/BaseRenderer.html" title="class in com.google.android.exoplayer2">BaseRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract base class suitable for most <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> implementations.</div>
</th>
</tr>
<tr id="i124" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/BaseTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection">BaseTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract base class suitable for most <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a> implementations.</div>
</th>
</tr>
<tr id="i125" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/BehindLiveWindowException.html" title="class in com.google.android.exoplayer2.source">BehindLiveWindowException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a live playback falls behind the available media window.</div>
</th>
</tr>
<tr id="i126" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/BinaryFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">BinaryFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Binary ID3 frame.</div>
</th>
</tr>
<tr id="i127" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.html" title="class in com.google.android.exoplayer2.extractor">BinarySearchSeeker</a></td>
<th class="colLast" scope="row">
<div class="block">A seeker that supports seeking within a stream by searching for the target frame using binary
 search.</div>
</th>
</tr>
<tr id="i128" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html" title="class in com.google.android.exoplayer2.extractor">BinarySearchSeeker.BinarySearchSeekMap</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor"><code>SeekMap</code></a> implementation that returns the estimated byte location from <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html#calculateNextSearchBytePosition(long,long,long,long,long,long)"><code>BinarySearchSeeker.SeekOperationParams.calculateNextSearchBytePosition(long, long, long, long, long, long)</code></a> for
 each <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html#getSeekPoints(long)"><code>BinarySearchSeeker.BinarySearchSeekMap.getSeekPoints(long)</code></a> query.</div>
</th>
</tr>
<tr id="i129" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.DefaultSeekTimestampConverter.html" title="class in com.google.android.exoplayer2.extractor">BinarySearchSeeker.DefaultSeekTimestampConverter</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html" title="interface in com.google.android.exoplayer2.extractor"><code>BinarySearchSeeker.SeekTimestampConverter</code></a> implementation that returns the seek time itself as the
 timestamp for a seek time position.</div>
</th>
</tr>
<tr id="i130" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html" title="class in com.google.android.exoplayer2.extractor">BinarySearchSeeker.SeekOperationParams</a></td>
<th class="colLast" scope="row">
<div class="block">Contains parameters for a pending seek operation by <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.html" title="class in com.google.android.exoplayer2.extractor"><code>BinarySearchSeeker</code></a>.</div>
</th>
</tr>
<tr id="i131" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html" title="interface in com.google.android.exoplayer2.extractor">BinarySearchSeeker.SeekTimestampConverter</a></td>
<th class="colLast" scope="row">
<div class="block">A converter that converts seek time in stream time into target timestamp for the <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.html" title="class in com.google.android.exoplayer2.extractor"><code>BinarySearchSeeker</code></a>.</div>
</th>
</tr>
<tr id="i132" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSearchResult.html" title="class in com.google.android.exoplayer2.extractor">BinarySearchSeeker.TimestampSearchResult</a></td>
<th class="colLast" scope="row">
<div class="block">Represents possible search results for <a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html#searchForTimestamp(com.google.android.exoplayer2.extractor.ExtractorInput,long)"><code>BinarySearchSeeker.TimestampSeeker.searchForTimestamp(ExtractorInput, long)</code></a>.</div>
</th>
</tr>
<tr id="i133" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html" title="interface in com.google.android.exoplayer2.extractor">BinarySearchSeeker.TimestampSeeker</a></td>
<th class="colLast" scope="row">
<div class="block">A seeker that looks for a given timestamp from an input.</div>
</th>
</tr>
<tr id="i134" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/Buffer.html" title="class in com.google.android.exoplayer2.decoder">Buffer</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for buffers with flags.</div>
</th>
</tr>
<tr id="i135" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for classes whose instance can be stored in a <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink"><code>Bundle</code></a> by <a href="com/google/android/exoplayer2/Bundleable.html#toBundle()" target="_top"><code>Bundleable.toBundle()</code></a> and
 can be restored from the <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a> by using the static <code>CREATOR</code> field that implements
 <a href="com/google/android/exoplayer2/Bundleable.Creator.html" title="interface in com.google.android.exoplayer2"><code>Bundleable.Creator</code></a>.</div>
</th>
</tr>
<tr id="i136" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Bundleable.Creator.html" title="interface in com.google.android.exoplayer2">Bundleable.Creator</a>&lt;<a href="com/google/android/exoplayer2/Bundleable.Creator.html" title="type parameter in Bundleable.Creator">T</a> extends <a href="com/google/android/exoplayer2/Bundleable.html" title="interface in com.google.android.exoplayer2">Bundleable</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Interface for the static <code>CREATOR</code> field of <a href="com/google/android/exoplayer2/Bundleable.html" title="interface in com.google.android.exoplayer2"><code>Bundleable</code></a> classes.</div>
</th>
</tr>
<tr id="i137" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/BundledChunkExtractor.html" title="class in com.google.android.exoplayer2.source.chunk">BundledChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkExtractor</code></a> implementation that uses ExoPlayer app-bundled <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractors</code></a>.</div>
</th>
</tr>
<tr id="i138" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/BundledExtractorsAdapter.html" title="class in com.google.android.exoplayer2.source">BundledExtractorsAdapter</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/ProgressiveMediaExtractor.html" title="interface in com.google.android.exoplayer2.source"><code>ProgressiveMediaExtractor</code></a> built on top of <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a> instances, whose
 implementation classes are bundled in the app.</div>
</th>
</tr>
<tr id="i139" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/BundledHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls">BundledHlsMediaChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsMediaChunkExtractor</code></a> implementation that uses ExoPlayer app-bundled <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractors</code></a>.</div>
</th>
</tr>
<tr id="i140" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/BundleListRetriever.html" title="class in com.google.android.exoplayer2">BundleListRetriever</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="https://developer.android.com/reference/android/os/Binder.html" title="class or interface in android.os" class="externalLink"><code>Binder</code></a> to transfer a list of <a href="https://developer.android.com/reference/android/os/Bundle.html?is-external=true" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundles</code></a> across processes by splitting the
 list into multiple transactions.</div>
</th>
</tr>
<tr id="i141" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/BundleUtil.html" title="class in com.google.android.exoplayer2.util">BundleUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utilities for <a href="https://developer.android.com/reference/android/os/Bundle.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Bundle</code></a>.</div>
</th>
</tr>
<tr id="i142" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ByteArrayDataSink.html" title="class in com.google.android.exoplayer2.upstream">ByteArrayDataSink</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink</code></a> for writing to a byte array.</div>
</th>
</tr>
<tr id="i143" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ByteArrayDataSource.html" title="class in com.google.android.exoplayer2.upstream">ByteArrayDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading from a byte array.</div>
</th>
</tr>
<tr id="i144" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.html" title="class in com.google.android.exoplayer2">C</a></td>
<th class="colLast" scope="row">
<div class="block">Defines constants used by the library.</div>
</th>
</tr>
<tr id="i145" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html" title="annotation in com.google.android.exoplayer2">C.AudioAllowedCapturePolicy</a></td>
<th class="colLast" scope="row">
<div class="block">Capture policies for audio attributes.</div>
</th>
</tr>
<tr id="i146" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.AudioContentType.html" title="annotation in com.google.android.exoplayer2">C.AudioContentType</a></td>
<th class="colLast" scope="row">
<div class="block">Content types for audio attributes.</div>
</th>
</tr>
<tr id="i147" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.AudioFlags.html" title="annotation in com.google.android.exoplayer2">C.AudioFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags for audio attributes.</div>
</th>
</tr>
<tr id="i148" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.AudioFocusGain.html" title="annotation in com.google.android.exoplayer2">C.AudioFocusGain</a></td>
<th class="colLast" scope="row">
<div class="block">Audio focus types.</div>
</th>
</tr>
<tr id="i149" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.AudioUsage.html" title="annotation in com.google.android.exoplayer2">C.AudioUsage</a></td>
<th class="colLast" scope="row">
<div class="block">Usage types for audio attributes.</div>
</th>
</tr>
<tr id="i150" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.BufferFlags.html" title="annotation in com.google.android.exoplayer2">C.BufferFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags which can apply to a buffer containing a media sample.</div>
</th>
</tr>
<tr id="i151" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.ColorRange.html" title="annotation in com.google.android.exoplayer2">C.ColorRange</a></td>
<th class="colLast" scope="row">
<div class="block">Video color range.</div>
</th>
</tr>
<tr id="i152" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.ColorSpace.html" title="annotation in com.google.android.exoplayer2">C.ColorSpace</a></td>
<th class="colLast" scope="row">
<div class="block">Video colorspaces.</div>
</th>
</tr>
<tr id="i153" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.ColorTransfer.html" title="annotation in com.google.android.exoplayer2">C.ColorTransfer</a></td>
<th class="colLast" scope="row">
<div class="block">Video color transfer characteristics.</div>
</th>
</tr>
<tr id="i154" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.ContentType.html" title="annotation in com.google.android.exoplayer2">C.ContentType</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a streaming or other media type.</div>
</th>
</tr>
<tr id="i155" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.CryptoMode.html" title="annotation in com.google.android.exoplayer2">C.CryptoMode</a></td>
<th class="colLast" scope="row">
<div class="block">Crypto modes for a codec.</div>
</th>
</tr>
<tr id="i156" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.Encoding.html" title="annotation in com.google.android.exoplayer2">C.Encoding</a></td>
<th class="colLast" scope="row">
<div class="block">Represents an audio encoding, or an invalid or unset value.</div>
</th>
</tr>
<tr id="i157" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.FormatSupport.html" title="annotation in com.google.android.exoplayer2">C.FormatSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Level of renderer support for a format.</div>
</th>
</tr>
<tr id="i158" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.NetworkType.html" title="annotation in com.google.android.exoplayer2">C.NetworkType</a></td>
<th class="colLast" scope="row">
<div class="block">Network connection type.</div>
</th>
</tr>
<tr id="i159" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.PcmEncoding.html" title="annotation in com.google.android.exoplayer2">C.PcmEncoding</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a PCM audio encoding, or an invalid or unset value.</div>
</th>
</tr>
<tr id="i160" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.Projection.html" title="annotation in com.google.android.exoplayer2">C.Projection</a></td>
<th class="colLast" scope="row">
<div class="block">Video projection types.</div>
</th>
</tr>
<tr id="i161" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.RoleFlags.html" title="annotation in com.google.android.exoplayer2">C.RoleFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Track role flags.</div>
</th>
</tr>
<tr id="i162" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.SelectionFlags.html" title="annotation in com.google.android.exoplayer2">C.SelectionFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Track selection flags.</div>
</th>
</tr>
<tr id="i163" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.StereoMode.html" title="annotation in com.google.android.exoplayer2">C.StereoMode</a></td>
<th class="colLast" scope="row">
<div class="block">The stereo mode for 360/3D/VR videos.</div>
</th>
</tr>
<tr id="i164" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.StreamType.html" title="annotation in com.google.android.exoplayer2">C.StreamType</a></td>
<th class="colLast" scope="row">
<div class="block">Stream types for an <a href="https://developer.android.com/reference/android/media/AudioTrack.html" title="class or interface in android.media" class="externalLink" target="_top"><code>AudioTrack</code></a>.</div>
</th>
</tr>
<tr id="i165" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.VideoOutputMode.html" title="annotation in com.google.android.exoplayer2">C.VideoOutputMode</a></td>
<th class="colLast" scope="row">
<div class="block">Video decoder output modes.</div>
</th>
</tr>
<tr id="i166" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">C.VideoScalingMode</a></td>
<th class="colLast" scope="row">
<div class="block">Video scaling modes for <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>-based renderers.</div>
</th>
</tr>
<tr id="i167" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/C.WakeMode.html" title="annotation in com.google.android.exoplayer2">C.WakeMode</a></td>
<th class="colLast" scope="row">
<div class="block">Mode specifying whether the player should hold a WakeLock and a WifiLock.</div>
</th>
</tr>
<tr id="i168" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache">Cache</a></td>
<th class="colLast" scope="row">
<div class="block">A cache that supports partial caching of resources.</div>
</th>
</tr>
<tr id="i169" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/Cache.CacheException.html" title="class in com.google.android.exoplayer2.upstream.cache">Cache.CacheException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error is encountered when writing data.</div>
</th>
</tr>
<tr id="i170" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/Cache.Listener.html" title="interface in com.google.android.exoplayer2.upstream.cache">Cache.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a> events.</div>
</th>
</tr>
<tr id="i171" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/CacheAsserts.html" title="class in com.google.android.exoplayer2.testutil">CacheAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Assertion methods for <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a>.</div>
</th>
</tr>
<tr id="i172" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/CacheAsserts.RequestSet.html" title="class in com.google.android.exoplayer2.testutil">CacheAsserts.RequestSet</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a set of data requests.</div>
</th>
</tr>
<tr id="i173" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSink.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSink</a></td>
<th class="colLast" scope="row">
<div class="block">Writes data into a cache.</div>
</th>
</tr>
<tr id="i174" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSink.CacheDataSinkException.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSink.CacheDataSinkException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a> is encountered when writing data to the sink.</div>
</th>
</tr>
<tr id="i175" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSink.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSink.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink.Factory</code></a> for <a href="com/google/android/exoplayer2/upstream/cache/CacheDataSink.html" title="class in com.google.android.exoplayer2.upstream.cache"><code>CacheDataSink</code></a> instances.</div>
</th>
</tr>
<tr id="i176" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSinkFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html" title="class in com.google.android.exoplayer2.upstream.cache"><code>CacheDataSink.Factory</code></a>.</div>
</th>
</tr>
<tr id="i177" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> that reads and writes a <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a>.</div>
</th>
</tr>
<tr id="i178" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.CacheIgnoredReason.html" title="annotation in com.google.android.exoplayer2.upstream.cache">CacheDataSource.CacheIgnoredReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reasons the cache may be ignored.</div>
</th>
</tr>
<tr id="i179" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.EventListener.html" title="interface in com.google.android.exoplayer2.upstream.cache">CacheDataSource.EventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of <a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.html" title="class in com.google.android.exoplayer2.upstream.cache"><code>CacheDataSource</code></a> events.</div>
</th>
</tr>
<tr id="i180" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.html" title="class in com.google.android.exoplayer2.upstream.cache"><code>CacheDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i181" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.Flags.html" title="annotation in com.google.android.exoplayer2.upstream.cache">CacheDataSource.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the CacheDataSource's behavior.</div>
</th>
</tr>
<tr id="i182" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheDataSourceFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream.cache"><code>CacheDataSource.Factory</code></a>.</div>
</th>
</tr>
<tr id="i183" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html" title="class in com.google.android.exoplayer2.upstream.cache">CachedRegionTracker</a></td>
<th class="colLast" scope="row">
<div class="block">Utility class for efficiently tracking regions of data that are stored in a <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a> for a
 given cache key.</div>
</th>
</tr>
<tr id="i184" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheEvictor.html" title="interface in com.google.android.exoplayer2.upstream.cache">CacheEvictor</a></td>
<th class="colLast" scope="row">
<div class="block">Evicts data from a <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a>.</div>
</th>
</tr>
<tr id="i185" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheKeyFactory.html" title="interface in com.google.android.exoplayer2.upstream.cache">CacheKeyFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for cache keys.</div>
</th>
</tr>
<tr id="i186" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheSpan.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheSpan</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a span of data that may or may not be cached (as indicated by <a href="com/google/android/exoplayer2/upstream/cache/CacheSpan.html#isCached"><code>CacheSpan.isCached</code></a>).</div>
</th>
</tr>
<tr id="i187" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheWriter.html" title="class in com.google.android.exoplayer2.upstream.cache">CacheWriter</a></td>
<th class="colLast" scope="row">
<div class="block">Caching related utility methods.</div>
</th>
</tr>
<tr id="i188" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/CacheWriter.ProgressListener.html" title="interface in com.google.android.exoplayer2.upstream.cache">CacheWriter.ProgressListener</a></td>
<th class="colLast" scope="row">
<div class="block">Receives progress updates during cache operations.</div>
</th>
</tr>
<tr id="i189" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/spherical/CameraMotionListener.html" title="interface in com.google.android.exoplayer2.video.spherical">CameraMotionListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listens camera motion.</div>
</th>
</tr>
<tr id="i190" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.html" title="class in com.google.android.exoplayer2.video.spherical">CameraMotionRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> that parses the camera motion track.</div>
</th>
</tr>
<tr id="i191" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/CaptionStyleCompat.html" title="class in com.google.android.exoplayer2.ui">CaptionStyleCompat</a></td>
<th class="colLast" scope="row">
<div class="block">A compatibility wrapper for <a href="https://developer.android.com/reference/android/view/accessibility/CaptioningManager.CaptionStyle.html" title="class or interface in android.view.accessibility" class="externalLink" target="_top"><code>CaptioningManager.CaptionStyle</code></a>.</div>
</th>
</tr>
<tr id="i192" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/CaptionStyleCompat.EdgeType.html" title="annotation in com.google.android.exoplayer2.ui">CaptionStyleCompat.EdgeType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of edge, which may be none.</div>
</th>
</tr>
<tr id="i193" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/CapturingAudioSink.html" title="class in com.google.android.exoplayer2.testutil">CapturingAudioSink</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/audio/ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio"><code>ForwardingAudioSink</code></a> that captures configuration, discontinuity and buffer events.</div>
</th>
</tr>
<tr id="i194" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/CapturingRenderersFactory.html" title="class in com.google.android.exoplayer2.testutil">CapturingRenderersFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> that captures interactions with the audio and video <a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecAdapter</code></a> instances.</div>
</th>
</tr>
<tr id="i195" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cast/CastPlayer.html" title="class in com.google.android.exoplayer2.ext.cast">CastPlayer</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> implementation that communicates with a Cast receiver app.</div>
</th>
</tr>
<tr id="i196" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/cea/Cea608Decoder.html" title="class in com.google.android.exoplayer2.text.cea">Cea608Decoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text"><code>SubtitleDecoder</code></a> for CEA-608 (also known as "line 21 captions" and "EIA-608").</div>
</th>
</tr>
<tr id="i197" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/cea/Cea708Decoder.html" title="class in com.google.android.exoplayer2.text.cea">Cea708Decoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text"><code>SubtitleDecoder</code></a> for CEA-708 (also known as "EIA-708").</div>
</th>
</tr>
<tr id="i198" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/CeaUtil.html" title="class in com.google.android.exoplayer2.extractor">CeaUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling CEA-608/708 messages.</div>
</th>
</tr>
<tr id="i199" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/ChapterFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">ChapterFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Chapter information ID3 frame.</div>
</th>
</tr>
<tr id="i200" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/ChapterTocFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">ChapterTocFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Chapter table of contents ID3 frame.</div>
</th>
</tr>
<tr id="i201" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk">Chunk</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract base class for <a href="com/google/android/exoplayer2/upstream/Loader.Loadable.html" title="interface in com.google.android.exoplayer2.upstream"><code>Loader.Loadable</code></a> implementations that load chunks of data required for
 the playback of streams.</div>
</th>
</tr>
<tr id="i202" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts samples and track <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Formats</code></a> from chunks.</div>
</th>
</tr>
<tr id="i203" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.Factory.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkExtractor.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Creates <a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkExtractor</code></a> instances.</div>
</th>
</tr>
<tr id="i204" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkExtractor.TrackOutputProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutput</code></a> instances to be written to during extraction.</div>
</th>
</tr>
<tr id="i205" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkHolder.html" title="class in com.google.android.exoplayer2.source.chunk">ChunkHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a chunk or an indication that the end of the stream has been reached.</div>
</th>
</tr>
<tr id="i206" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ChunkIndex.html" title="class in com.google.android.exoplayer2.extractor">ChunkIndex</a></td>
<th class="colLast" scope="row">
<div class="block">Defines chunks of samples within a media stream.</div>
</th>
</tr>
<tr id="i207" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html" title="class in com.google.android.exoplayer2.source.chunk">ChunkSampleStream</a>&lt;<a href="com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html" title="type parameter in ChunkSampleStream">T</a> extends <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkSource</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> that loads media in <a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>Chunk</code></a>s, obtained from a <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkSource</code></a>.</div>
</th>
</tr>
<tr id="i208" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkSampleStream.ReleaseCallback</a>&lt;<a href="com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html" title="type parameter in ChunkSampleStream.ReleaseCallback">T</a> extends <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkSource</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified when a sample stream has finished being released.</div>
</th>
</tr>
<tr id="i209" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk">ChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">A provider of <a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>Chunk</code></a>s for a <a href="com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html" title="class in com.google.android.exoplayer2.source.chunk"><code>ChunkSampleStream</code></a> to load.</div>
</th>
</tr>
<tr id="i210" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ClippingMediaPeriod.html" title="class in com.google.android.exoplayer2.source">ClippingMediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a> and clips its <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>s to provide a subsequence of their
 samples.</div>
</th>
</tr>
<tr id="i211" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ClippingMediaSource.html" title="class in com.google.android.exoplayer2.source">ClippingMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> that wraps a source and clips its timeline based on specified start/end
 positions.</div>
</th>
</tr>
<tr id="i212" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html" title="class in com.google.android.exoplayer2.source">ClippingMediaSource.IllegalClippingException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a <a href="com/google/android/exoplayer2/source/ClippingMediaSource.html" title="class in com.google.android.exoplayer2.source"><code>ClippingMediaSource</code></a> cannot clip its wrapped source.</div>
</th>
</tr>
<tr id="i213" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html" title="annotation in com.google.android.exoplayer2.source">ClippingMediaSource.IllegalClippingException.Reason</a></td>
<th class="colLast" scope="row">
<div class="block">The reason clipping failed.</div>
</th>
</tr>
<tr id="i214" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/Clock.html" title="interface in com.google.android.exoplayer2.util">Clock</a></td>
<th class="colLast" scope="row">
<div class="block">An interface through which system clocks can be read and <a href="com/google/android/exoplayer2/util/HandlerWrapper.html" title="interface in com.google.android.exoplayer2.util"><code>HandlerWrapper</code></a>s created.</div>
</th>
</tr>
<tr id="i215" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/CodecSpecificDataUtil.html" title="class in com.google.android.exoplayer2.util">CodecSpecificDataUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Provides utilities for handling various types of codec-specific data.</div>
</th>
</tr>
<tr id="i216" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/ColorInfo.html" title="class in com.google.android.exoplayer2.video">ColorInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Stores color info.</div>
</th>
</tr>
<tr id="i217" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ColorParser.html" title="class in com.google.android.exoplayer2.util">ColorParser</a></td>
<th class="colLast" scope="row">
<div class="block">Parser for color expressions found in styling formats, e.g.</div>
</th>
</tr>
<tr id="i218" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/CommentFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">CommentFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Comment ID3 frame.</div>
</th>
</tr>
<tr id="i219" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/CompositeMediaSource.html" title="class in com.google.android.exoplayer2.source">CompositeMediaSource</a>&lt;<a href="com/google/android/exoplayer2/source/CompositeMediaSource.html" title="type parameter in CompositeMediaSource">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Composite <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> consisting of multiple child sources.</div>
</th>
</tr>
<tr id="i220" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/CompositeSequenceableLoader.html" title="class in com.google.android.exoplayer2.source">CompositeSequenceableLoader</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source"><code>SequenceableLoader</code></a> that encapsulates multiple other <a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source"><code>SequenceableLoader</code></a>s.</div>
</th>
</tr>
<tr id="i221" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html" title="interface in com.google.android.exoplayer2.source">CompositeSequenceableLoaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory to create composite <a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source"><code>SequenceableLoader</code></a>s.</div>
</th>
</tr>
<tr id="i222" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ConcatenatingMediaSource.html" title="class in com.google.android.exoplayer2.source">ConcatenatingMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Concatenates multiple <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i223" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ConditionVariable.html" title="class in com.google.android.exoplayer2.util">ConditionVariable</a></td>
<th class="colLast" scope="row">
<div class="block">An interruptible condition variable.</div>
</th>
</tr>
<tr id="i224" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ConstantBitrateSeekMap.html" title="class in com.google.android.exoplayer2.extractor">ConstantBitrateSeekMap</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor"><code>SeekMap</code></a> implementation that assumes the stream has a constant bitrate and consists of
 multiple independent frames of the same size.</div>
</th>
</tr>
<tr id="i225" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/Consumer.html" title="interface in com.google.android.exoplayer2.util">Consumer</a>&lt;<a href="com/google/android/exoplayer2/util/Consumer.html" title="type parameter in Consumer">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Represents an operation that accepts a single input argument and returns no result.</div>
</th>
</tr>
<tr id="i226" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/ContainerMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">ContainerMediaChunk</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>BaseMediaChunk</code></a> that uses an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a> to decode sample data.</div>
</th>
</tr>
<tr id="i227" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ContentDataSource.html" title="class in com.google.android.exoplayer2.upstream">ContentDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading from a content URI.</div>
</th>
</tr>
<tr id="i228" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">ContentDataSource.ContentDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a> is encountered reading from a content URI.</div>
</th>
</tr>
<tr id="i229" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadata.html" title="interface in com.google.android.exoplayer2.upstream.cache">ContentMetadata</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for an immutable snapshot of keyed metadata.</div>
</th>
</tr>
<tr id="i230" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html" title="class in com.google.android.exoplayer2.upstream.cache">ContentMetadataMutations</a></td>
<th class="colLast" scope="row">
<div class="block">Defines multiple mutations on metadata value which are applied atomically.</div>
</th>
</tr>
<tr id="i231" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ControlDispatcher.html" title="interface in com.google.android.exoplayer2">ControlDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Dispatches operations to the <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a>.</div>
</th>
</tr>
<tr id="i232" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/CopyOnWriteMultiset.html" title="class in com.google.android.exoplayer2.util">CopyOnWriteMultiset</a>&lt;<a href="com/google/android/exoplayer2/util/CopyOnWriteMultiset.html" title="type parameter in CopyOnWriteMultiset">E</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">An unordered collection of elements that allows duplicates, but also allows access to a set of
 unique elements.</div>
</th>
</tr>
<tr id="i233" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">DataSource without intermediate buffer based on Cronet API set using UrlRequest.</div>
</th>
</tr>
<tr id="i234" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.html" title="class in com.google.android.exoplayer2.ext.cronet"><code>CronetDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i235" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.OpenException.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSource.OpenException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error is encountered when trying to open a <a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.html" title="class in com.google.android.exoplayer2.ext.cronet"><code>CronetDataSource</code></a>.</div>
</th>
</tr>
<tr id="i236" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetDataSourceFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.cronet"><code>CronetDataSource.Factory</code></a> instead.</div>
</th>
</tr>
<tr id="i237" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html" title="class in com.google.android.exoplayer2.ext.cronet">CronetEngineWrapper</a></td>
<th class="colLast" scope="row">
<div class="block">A wrapper class for a <code>CronetEngine</code>.</div>
</th>
</tr>
<tr id="i238" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.CronetEngineSource.html" title="annotation in com.google.android.exoplayer2.ext.cronet">CronetEngineWrapper.CronetEngineSource</a></td>
<th class="colLast" scope="row">
<div class="block">Source of <code>CronetEngine</code>.</div>
</th>
</tr>
<tr id="i239" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/CryptoInfo.html" title="class in com.google.android.exoplayer2.decoder">CryptoInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Compatibility wrapper for <a href="https://developer.android.com/reference/android/media/MediaCodec.CryptoInfo.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec.CryptoInfo</code></a>.</div>
</th>
</tr>
<tr id="i240" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.html" title="class in com.google.android.exoplayer2.text">Cue</a></td>
<th class="colLast" scope="row">
<div class="block">Contains information about a specific cue, including textual content and formatting data.</div>
</th>
</tr>
<tr id="i241" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.AnchorType.html" title="annotation in com.google.android.exoplayer2.text">Cue.AnchorType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of anchor, which may be unset.</div>
</th>
</tr>
<tr id="i242" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.Builder.html" title="class in com.google.android.exoplayer2.text">Cue.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/text/Cue.html" title="class in com.google.android.exoplayer2.text"><code>Cue</code></a> objects.</div>
</th>
</tr>
<tr id="i243" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.LineType.html" title="annotation in com.google.android.exoplayer2.text">Cue.LineType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of line, which may be unset.</div>
</th>
</tr>
<tr id="i244" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.TextSizeType.html" title="annotation in com.google.android.exoplayer2.text">Cue.TextSizeType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of default text size for this cue, which may be unset.</div>
</th>
</tr>
<tr id="i245" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Cue.VerticalType.html" title="annotation in com.google.android.exoplayer2.text">Cue.VerticalType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of vertical layout for this cue, which may be unset (i.e.</div>
</th>
</tr>
<tr id="i246" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashChunkSource.html" title="interface in com.google.android.exoplayer2.source.dash">DashChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkSource</code></a> for DASH streams.</div>
</th>
</tr>
<tr id="i247" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashChunkSource.Factory.html" title="interface in com.google.android.exoplayer2.source.dash">DashChunkSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/dash/DashChunkSource.html" title="interface in com.google.android.exoplayer2.source.dash"><code>DashChunkSource</code></a>s.</div>
</th>
</tr>
<tr id="i248" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/offline/DashDownloader.html" title="class in com.google.android.exoplayer2.source.dash.offline">DashDownloader</a></td>
<th class="colLast" scope="row">
<div class="block">A downloader for DASH streams.</div>
</th>
</tr>
<tr id="i249" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/DashManifest.html" title="class in com.google.android.exoplayer2.source.dash.manifest">DashManifest</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a DASH media presentation description (mpd), as defined by ISO/IEC 23009-1:2014
 Section 5.3.1.2.</div>
</th>
</tr>
<tr id="i250" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.html" title="class in com.google.android.exoplayer2.source.dash.manifest">DashManifestParser</a></td>
<th class="colLast" scope="row">
<div class="block">A parser of media presentation description files.</div>
</th>
</tr>
<tr id="i251" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.RepresentationInfo.html" title="class in com.google.android.exoplayer2.source.dash.manifest">DashManifestParser.RepresentationInfo</a></td>
<th class="colLast" scope="row">
<div class="block">A parsed Representation element.</div>
</th>
</tr>
<tr id="i252" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashManifestStaleException.html" title="class in com.google.android.exoplayer2.source.dash">DashManifestStaleException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a live playback's manifest is stale and a new manifest could not be loaded.</div>
</th>
</tr>
<tr id="i253" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashMediaSource.html" title="class in com.google.android.exoplayer2.source.dash">DashMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">A DASH <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</th>
</tr>
<tr id="i254" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source.dash">DashMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/dash/DashMediaSource.html" title="class in com.google.android.exoplayer2.source.dash"><code>DashMediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i255" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashSegmentIndex.html" title="interface in com.google.android.exoplayer2.source.dash">DashSegmentIndex</a></td>
<th class="colLast" scope="row">
<div class="block">Indexes the segments within a media stream.</div>
</th>
</tr>
<tr id="i256" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashUtil.html" title="class in com.google.android.exoplayer2.source.dash">DashUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for DASH streams.</div>
</th>
</tr>
<tr id="i257" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DashWrappingSegmentIndex.html" title="class in com.google.android.exoplayer2.source.dash">DashWrappingSegmentIndex</a></td>
<th class="colLast" scope="row">
<div class="block">An implementation of <a href="com/google/android/exoplayer2/source/dash/DashSegmentIndex.html" title="interface in com.google.android.exoplayer2.source.dash"><code>DashSegmentIndex</code></a> that wraps a <a href="com/google/android/exoplayer2/extractor/ChunkIndex.html" title="class in com.google.android.exoplayer2.extractor"><code>ChunkIndex</code></a> parsed from a media
 stream.</div>
</th>
</tr>
<tr id="i258" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/database/DatabaseIOException.html" title="class in com.google.android.exoplayer2.database">DatabaseIOException</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink"><code>IOException</code></a> whose cause is an <a href="https://developer.android.com/reference/android/database/SQLException.html?is-external=true" title="class or interface in android.database" class="externalLink" target="_top"><code>SQLException</code></a>.</div>
</th>
</tr>
<tr id="i259" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/database/DatabaseProvider.html" title="interface in com.google.android.exoplayer2.database">DatabaseProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides <a href="https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html" title="class or interface in android.database.sqlite" class="externalLink" target="_top"><code>SQLiteDatabase</code></a> instances to ExoPlayer components, which may read and write
 tables prefixed with <a href="com/google/android/exoplayer2/database/DatabaseProvider.html#TABLE_PREFIX"><code>DatabaseProvider.TABLE_PREFIX</code></a>.</div>
</th>
</tr>
<tr id="i260" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/DataChunk.html" title="class in com.google.android.exoplayer2.source.chunk">DataChunk</a></td>
<th class="colLast" scope="row">
<div class="block">A base class for <a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>Chunk</code></a> implementations where the data should be loaded into a <code>
 byte[]</code> before being consumed.</div>
</th>
</tr>
<tr id="i261" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataReader.html" title="interface in com.google.android.exoplayer2.upstream">DataReader</a></td>
<th class="colLast" scope="row">
<div class="block">Reads bytes from a data stream.</div>
</th>
</tr>
<tr id="i262" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSchemeDataSource.html" title="class in com.google.android.exoplayer2.upstream">DataSchemeDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading data URLs, as defined by RFC 2397.</div>
</th>
</tr>
<tr id="i263" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream">DataSink</a></td>
<th class="colLast" scope="row">
<div class="block">A component to which streams of data can be written.</div>
</th>
</tr>
<tr id="i264" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSink.Factory.html" title="interface in com.google.android.exoplayer2.upstream">DataSink.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink</code></a> instances.</div>
</th>
</tr>
<tr id="i265" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream">DataSource</a></td>
<th class="colLast" scope="row">
<div class="block">Reads data from URI-identified resources.</div>
</th>
</tr>
<tr id="i266" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream">DataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i267" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DataSourceContractTest.html" title="class in com.google.android.exoplayer2.testutil">DataSourceContractTest</a></td>
<th class="colLast" scope="row">
<div class="block">A collection of contract tests for <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> implementations.</div>
</th>
</tr>
<tr id="i268" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DataSourceContractTest.FakeTransferListener.html" title="class in com.google.android.exoplayer2.testutil">DataSourceContractTest.FakeTransferListener</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/TransferListener.html" title="interface in com.google.android.exoplayer2.upstream"><code>TransferListener</code></a> that only keeps track of the transferred bytes.</div>
</th>
</tr>
<tr id="i269" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html" title="class in com.google.android.exoplayer2.testutil">DataSourceContractTest.TestResource</a></td>
<th class="colLast" scope="row">
<div class="block">Information about a resource that can be used to test the <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> instance.</div>
</th>
</tr>
<tr id="i270" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.Builder.html" title="class in com.google.android.exoplayer2.testutil">DataSourceContractTest.TestResource.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html" title="class in com.google.android.exoplayer2.testutil"><code>DataSourceContractTest.TestResource</code></a> instances.</div>
</th>
</tr>
<tr id="i271" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSourceException.html" title="class in com.google.android.exoplayer2.upstream">DataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Used to specify reason of a DataSource error.</div>
</th>
</tr>
<tr id="i272" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSourceInputStream.html" title="class in com.google.android.exoplayer2.upstream">DataSourceInputStream</a></td>
<th class="colLast" scope="row">
<div class="block">Allows data corresponding to a given <a href="com/google/android/exoplayer2/upstream/DataSpec.html" title="class in com.google.android.exoplayer2.upstream"><code>DataSpec</code></a> to be read from a <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> and
 consumed through an <a href="https://developer.android.com/reference/java/io/InputStream.html" title="class or interface in java.io" class="externalLink" target="_top"><code>InputStream</code></a>.</div>
</th>
</tr>
<tr id="i273" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSpec.html" title="class in com.google.android.exoplayer2.upstream">DataSpec</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a region of data in a resource.</div>
</th>
</tr>
<tr id="i274" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSpec.Builder.html" title="class in com.google.android.exoplayer2.upstream">DataSpec.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builds <a href="com/google/android/exoplayer2/upstream/DataSpec.html" title="class in com.google.android.exoplayer2.upstream"><code>DataSpec</code></a> instances.</div>
</th>
</tr>
<tr id="i275" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSpec.Flags.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">The flags that apply to any request for data.</div>
</th>
</tr>
<tr id="i276" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html" title="annotation in com.google.android.exoplayer2.upstream">DataSpec.HttpMethod</a></td>
<th class="colLast" scope="row">
<div class="block">HTTP methods supported by ExoPlayer <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a>s.</div>
</th>
</tr>
<tr id="i277" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/DebugTextViewHelper.html" title="class in com.google.android.exoplayer2.util">DebugTextViewHelper</a></td>
<th class="colLast" scope="row">
<div class="block">A helper class for periodically updating a <a href="https://developer.android.com/reference/android/widget/TextView.html" title="class or interface in android.widget" class="externalLink" target="_top"><code>TextView</code></a> with debug information obtained from
 a <a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i278" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder">Decoder</a>&lt;<a href="com/google/android/exoplayer2/decoder/Decoder.html" title="type parameter in Decoder">I</a>,&#8203;<a href="com/google/android/exoplayer2/decoder/Decoder.html" title="type parameter in Decoder">O</a>,&#8203;<a href="com/google/android/exoplayer2/decoder/Decoder.html" title="type parameter in Decoder">E</a> extends <a href="com/google/android/exoplayer2/decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A media decoder.</div>
</th>
</tr>
<tr id="i279" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DecoderAudioRenderer.html" title="class in com.google.android.exoplayer2.audio">DecoderAudioRenderer</a>&lt;<a href="com/google/android/exoplayer2/audio/DecoderAudioRenderer.html" title="type parameter in DecoderAudioRenderer">T</a> extends <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder">Decoder</a>&lt;<a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a>,&#8203;? extends <a href="com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">SimpleOutputBuffer</a>,&#8203;? extends <a href="com/google/android/exoplayer2/decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a>&gt;&gt;</td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders audio using a <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><code>Decoder</code></a>.</div>
</th>
</tr>
<tr id="i280" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder">DecoderCounters</a></td>
<th class="colLast" scope="row">
<div class="block">Maintains decoder event counts, for debugging purposes only.</div>
</th>
</tr>
<tr id="i281" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DecoderCountersUtil.html" title="class in com.google.android.exoplayer2.testutil">DecoderCountersUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Assertions for <a href="com/google/android/exoplayer2/decoder/DecoderCounters.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderCounters</code></a>.</div>
</th>
</tr>
<tr id="i282" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><code>Decoder</code></a> error occurs.</div>
</th>
</tr>
<tr id="i283" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Holds input for a decoder.</div>
</th>
</tr>
<tr id="i284" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.BufferReplacementMode.html" title="annotation in com.google.android.exoplayer2.decoder">DecoderInputBuffer.BufferReplacementMode</a></td>
<th class="colLast" scope="row">
<div class="block">The buffer replacement mode.</div>
</th>
</tr>
<tr id="i285" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.InsufficientCapacityException.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer.InsufficientCapacityException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an attempt is made to write into a <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderInputBuffer</code></a> whose <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html#bufferReplacementMode"><code>DecoderInputBuffer.bufferReplacementMode</code></a> is <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html#BUFFER_REPLACEMENT_MODE_DISABLED"><code>DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED</code></a> and who <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html#data"><code>DecoderInputBuffer.data</code></a>
 capacity is smaller than required.</div>
</th>
</tr>
<tr id="i286" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.html" title="class in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation</a></td>
<th class="colLast" scope="row">
<div class="block">The result of an evaluation to determine whether a decoder can be reused for a new input format.</div>
</th>
</tr>
<tr id="i287" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderDiscardReasons.html" title="annotation in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation.DecoderDiscardReasons</a></td>
<th class="colLast" scope="row">
<div class="block">Possible reasons why reuse is not possible.</div>
</th>
</tr>
<tr id="i288" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html" title="annotation in com.google.android.exoplayer2.decoder">DecoderReuseEvaluation.DecoderReuseResult</a></td>
<th class="colLast" scope="row">
<div class="block">Possible outcomes of the evaluation.</div>
</th>
</tr>
<tr id="i289" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/DecoderVideoRenderer.html" title="class in com.google.android.exoplayer2.video">DecoderVideoRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders video using a <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><code>Decoder</code></a>.</div>
</th>
</tr>
<tr id="i290" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DecryptionException.html" title="class in com.google.android.exoplayer2.drm">DecryptionException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a non-platform component fails to decrypt data.</div>
</th>
</tr>
<tr id="i291" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultAllocator.html" title="class in com.google.android.exoplayer2.upstream">DefaultAllocator</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/upstream/Allocator.html" title="interface in com.google.android.exoplayer2.upstream"><code>Allocator</code></a>.</div>
</th>
</tr>
<tr id="i292" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink</a></td>
<th class="colLast" scope="row">
<div class="block">Plays audio data.</div>
</th>
</tr>
<tr id="i293" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html" title="interface in com.google.android.exoplayer2.audio">DefaultAudioSink.AudioProcessorChain</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a chain of audio processors, which are used for any user-defined processing and
 applying playback parameters (if supported).</div>
</th>
</tr>
<tr id="i294" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.DefaultAudioProcessorChain</a></td>
<th class="colLast" scope="row">
<div class="block">The default audio processor chain, which applies a (possibly empty) chain of user-defined audio
 processors followed by <a href="com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SilenceSkippingAudioProcessor</code></a> and <a href="com/google/android/exoplayer2/audio/SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio"><code>SonicAudioProcessor</code></a>.</div>
</th>
</tr>
<tr id="i295" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html" title="class in com.google.android.exoplayer2.audio">DefaultAudioSink.InvalidAudioTrackTimestampException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the audio track has provided a spurious timestamp, if <a href="com/google/android/exoplayer2/audio/DefaultAudioSink.html#failOnSpuriousAudioTimestamp"><code>DefaultAudioSink.failOnSpuriousAudioTimestamp</code></a> is set.</div>
</th>
</tr>
<tr id="i296" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DefaultAudioSink.OffloadMode.html" title="annotation in com.google.android.exoplayer2.audio">DefaultAudioSink.OffloadMode</a></td>
<th class="colLast" scope="row">
<div class="block">Audio offload mode configuration.</div>
</th>
</tr>
<tr id="i297" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html" title="class in com.google.android.exoplayer2.upstream">DefaultBandwidthMeter</a></td>
<th class="colLast" scope="row">
<div class="block">Estimates bandwidth by listening to data transfers.</div>
</th>
</tr>
<tr id="i298" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html" title="class in com.google.android.exoplayer2.upstream">DefaultBandwidthMeter.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for a bandwidth meter.</div>
</th>
</tr>
<tr id="i299" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html" title="class in com.google.android.exoplayer2.ext.cast">DefaultCastOptionsProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A convenience <code>OptionsProvider</code> to target the default cast receiver app.</div>
</th>
</tr>
<tr id="i300" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory.html" title="class in com.google.android.exoplayer2.source">DefaultCompositeSequenceableLoaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html" title="interface in com.google.android.exoplayer2.source"><code>CompositeSequenceableLoaderFactory</code></a>.</div>
</th>
</tr>
<tr id="i301" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/DefaultContentMetadata.html" title="class in com.google.android.exoplayer2.upstream.cache">DefaultContentMetadata</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/upstream/cache/ContentMetadata.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>ContentMetadata</code></a>.</div>
</th>
</tr>
<tr id="i302" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultControlDispatcher.html" title="class in com.google.android.exoplayer2">DefaultControlDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/ControlDispatcher.html" title="interface in com.google.android.exoplayer2"><code>ControlDispatcher</code></a>.</div>
</th>
</tr>
<tr id="i303" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.html" title="class in com.google.android.exoplayer2.source.dash">DefaultDashChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">A default <a href="com/google/android/exoplayer2/source/dash/DashChunkSource.html" title="interface in com.google.android.exoplayer2.source.dash"><code>DashChunkSource</code></a> implementation.</div>
</th>
</tr>
<tr id="i304" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.Factory.html" title="class in com.google.android.exoplayer2.source.dash">DefaultDashChunkSource.Factory</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i305" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html" title="class in com.google.android.exoplayer2.source.dash">DefaultDashChunkSource.RepresentationHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a snapshot of a single <a href="com/google/android/exoplayer2/source/dash/manifest/Representation.html" title="class in com.google.android.exoplayer2.source.dash.manifest"><code>Representation</code></a>.</div>
</th>
</tr>
<tr id="i306" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationSegmentIterator.html" title="class in com.google.android.exoplayer2.source.dash">DefaultDashChunkSource.RepresentationSegmentIterator</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>MediaChunkIterator</code></a> wrapping a <a href="com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html" title="class in com.google.android.exoplayer2.source.dash"><code>DefaultDashChunkSource.RepresentationHolder</code></a>.</div>
</th>
</tr>
<tr id="i307" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/database/DefaultDatabaseProvider.html" title="class in com.google.android.exoplayer2.database">DefaultDatabaseProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/database/DatabaseProvider.html" title="interface in com.google.android.exoplayer2.database"><code>DatabaseProvider</code></a> that provides instances obtained from a <a href="https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html" title="class or interface in android.database.sqlite" class="externalLink" target="_top"><code>SQLiteOpenHelper</code></a>.</div>
</th>
</tr>
<tr id="i308" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultDataSource.html" title="class in com.google.android.exoplayer2.upstream">DefaultDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> that supports multiple URI schemes.</div>
</th>
</tr>
<tr id="i309" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">DefaultDataSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> that produces <a href="com/google/android/exoplayer2/upstream/DefaultDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultDataSource</code></a> instances that delegate to <a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultHttpDataSource</code></a>s for non-file/asset/content URIs.</div>
</th>
</tr>
<tr id="i310" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DefaultDownloaderFactory.html" title="class in com.google.android.exoplayer2.offline">DefaultDownloaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/offline/DownloaderFactory.html" title="interface in com.google.android.exoplayer2.offline"><code>DownloaderFactory</code></a>, supporting creation of progressive, DASH, HLS and
 SmoothStreaming downloaders.</div>
</th>
</tr>
<tr id="i311" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DefaultDownloadIndex.html" title="class in com.google.android.exoplayer2.offline">DefaultDownloadIndex</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/offline/DownloadIndex.html" title="interface in com.google.android.exoplayer2.offline"><code>DownloadIndex</code></a> that uses SQLite to persist <a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline"><code>Downloads</code></a>.</div>
</th>
</tr>
<tr id="i312" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/drm/DrmSessionManager.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessionManager</code></a> that supports playbacks using <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a>.</div>
</th>
</tr>
<tr id="i313" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Builder.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html" title="class in com.google.android.exoplayer2.drm"><code>DefaultDrmSessionManager</code></a> instances.</div>
</th>
</tr>
<tr id="i314" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.MissingSchemeDataException.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.MissingSchemeDataException</a></td>
<th class="colLast" scope="row">
<div class="block">Signals that the <a href="com/google/android/exoplayer2/Format.html#drmInitData"><code>Format.drmInitData</code></a> passed to <a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html#acquireSession(android.os.Looper,com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher,com.google.android.exoplayer2.Format)"><code>DefaultDrmSessionManager.acquireSession(android.os.Looper, com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher, com.google.android.exoplayer2.Format)</code></a> does not contain
 scheme data for the required UUID.</div>
</th>
</tr>
<tr id="i315" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html" title="annotation in com.google.android.exoplayer2.drm">DefaultDrmSessionManager.Mode</a></td>
<th class="colLast" scope="row">
<div class="block">Determines the action to be done after a session acquired.</div>
</th>
</tr>
<tr id="i316" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html" title="class in com.google.android.exoplayer2.drm">DefaultDrmSessionManagerProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessionManagerProvider</code></a>.</div>
</th>
</tr>
<tr id="i317" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/DefaultExtractorInput.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorInput</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a> that wraps a <a href="com/google/android/exoplayer2/upstream/DataReader.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataReader</code></a>.</div>
</th>
</tr>
<tr id="i318" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html" title="class in com.google.android.exoplayer2.extractor">DefaultExtractorsFactory</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorsFactory</code></a> that provides an array of extractors for the following formats:

 
   MP4, including M4A (<a href="com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4"><code>Mp4Extractor</code></a>)
   fMP4 (<a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4"><code>FragmentedMp4Extractor</code></a>)
   Matroska and WebM (<a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html" title="class in com.google.android.exoplayer2.extractor.mkv"><code>MatroskaExtractor</code></a>)
   Ogg Vorbis/FLAC (<a href="com/google/android/exoplayer2/extractor/ogg/OggExtractor.html" title="class in com.google.android.exoplayer2.extractor.ogg"><code>OggExtractor</code></a>
   MP3 (<a href="com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp3"><code>Mp3Extractor</code></a>)
   AAC (<a href="com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts"><code>AdtsExtractor</code></a>)
   MPEG TS (<a href="com/google/android/exoplayer2/extractor/ts/TsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts"><code>TsExtractor</code></a>)
   MPEG PS (<a href="com/google/android/exoplayer2/extractor/ts/PsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts"><code>PsExtractor</code></a>)
   FLV (<a href="com/google/android/exoplayer2/extractor/flv/FlvExtractor.html" title="class in com.google.android.exoplayer2.extractor.flv"><code>FlvExtractor</code></a>)
   WAV (<a href="com/google/android/exoplayer2/extractor/wav/WavExtractor.html" title="class in com.google.android.exoplayer2.extractor.wav"><code>WavExtractor</code></a>)
   AC3 (<a href="com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html" title="class in com.google.android.exoplayer2.extractor.ts"><code>Ac3Extractor</code></a>)
   AC4 (<a href="com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html" title="class in com.google.android.exoplayer2.extractor.ts"><code>Ac4Extractor</code></a>)
   AMR (<a href="com/google/android/exoplayer2/extractor/amr/AmrExtractor.html" title="class in com.google.android.exoplayer2.extractor.amr"><code>AmrExtractor</code></a>)
   FLAC
       
         If available, the FLAC extension's <code>
             com.google.android.exoplayer2.ext.flac.FlacExtractor</code> is used.</div>
</th>
</tr>
<tr id="i319" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html" title="class in com.google.android.exoplayer2.source.hls">DefaultHlsDataSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsDataSourceFactory</code></a>.</div>
</th>
</tr>
<tr id="i320" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.html" title="class in com.google.android.exoplayer2.source.hls">DefaultHlsExtractorFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsExtractorFactory</code></a> implementation.</div>
</th>
</tr>
<tr id="i321" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistParserFactory.html" title="class in com.google.android.exoplayer2.source.hls.playlist">DefaultHlsPlaylistParserFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation for <a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html" title="interface in com.google.android.exoplayer2.source.hls.playlist"><code>HlsPlaylistParserFactory</code></a>.</div>
</th>
</tr>
<tr id="i322" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.html" title="class in com.google.android.exoplayer2.source.hls.playlist">DefaultHlsPlaylistTracker</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation for <a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html" title="interface in com.google.android.exoplayer2.source.hls.playlist"><code>HlsPlaylistTracker</code></a>.</div>
</th>
</tr>
<tr id="i323" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html" title="class in com.google.android.exoplayer2.upstream">DefaultHttpDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a> that uses Android's <a href="https://developer.android.com/reference/java/net/HttpURLConnection.html" title="class or interface in java.net" class="externalLink" target="_top"><code>HttpURLConnection</code></a>.</div>
</th>
</tr>
<tr id="i324" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">DefaultHttpDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultHttpDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i325" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">DefaultHttpDataSourceFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream"><code>DefaultHttpDataSource.Factory</code></a> instead.</div>
</th>
</tr>
<tr id="i326" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2"><code>LivePlaybackSpeedControl</code></a> that adjusts the playback speed using a proportional
 controller.</div>
</th>
</tr>
<tr id="i327" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLivePlaybackSpeedControl.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for a <a href="com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html" title="class in com.google.android.exoplayer2"><code>DefaultLivePlaybackSpeedControl</code></a>.</div>
</th>
</tr>
<tr id="i328" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultLoadControl.html" title="class in com.google.android.exoplayer2">DefaultLoadControl</a></td>
<th class="colLast" scope="row">
<div class="block">The default <a href="com/google/android/exoplayer2/LoadControl.html" title="interface in com.google.android.exoplayer2"><code>LoadControl</code></a> implementation.</div>
</th>
</tr>
<tr id="i329" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultLoadControl.Builder.html" title="class in com.google.android.exoplayer2">DefaultLoadControl.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/DefaultLoadControl.html" title="class in com.google.android.exoplayer2"><code>DefaultLoadControl</code></a>.</div>
</th>
</tr>
<tr id="i330" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html" title="class in com.google.android.exoplayer2.upstream">DefaultLoadErrorHandlingPolicy</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoadErrorHandlingPolicy</code></a>.</div>
</th>
</tr>
<tr id="i331" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.html" title="class in com.google.android.exoplayer2.ext.cast">DefaultMediaItemConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/ext/cast/MediaItemConverter.html" title="interface in com.google.android.exoplayer2.ext.cast"><code>MediaItemConverter</code></a> implementation.</div>
</th>
</tr>
<tr id="i332" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html" title="class in com.google.android.exoplayer2.ext.media2">DefaultMediaItemConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/ext/media2/MediaItemConverter.html" title="interface in com.google.android.exoplayer2.ext.media2"><code>MediaItemConverter</code></a>.</div>
</th>
</tr>
<tr id="i333" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html" title="class in com.google.android.exoplayer2.source">DefaultMediaSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">The default <a href="com/google/android/exoplayer2/source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceFactory</code></a> implementation.</div>
</th>
</tr>
<tr id="i334" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html" title="interface in com.google.android.exoplayer2.source">DefaultMediaSourceFactory.AdsLoaderProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides <a href="com/google/android/exoplayer2/source/ads/AdsLoader.html" title="interface in com.google.android.exoplayer2.source.ads"><code>AdsLoader</code></a> instances for media items that have <a href="com/google/android/exoplayer2/MediaItem.PlaybackProperties.html#adsConfiguration"><code>ad tag URIs</code></a>.</div>
</th>
</tr>
<tr id="i335" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html" title="class in com.google.android.exoplayer2.analytics">DefaultPlaybackSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/analytics/PlaybackSessionManager.html" title="interface in com.google.android.exoplayer2.analytics"><code>PlaybackSessionManager</code></a> which instantiates a new session for each window in the
 timeline and also for each ad within the windows.</div>
</th>
</tr>
<tr id="i336" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2">DefaultRenderersFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/RenderersFactory.html" title="interface in com.google.android.exoplayer2"><code>RenderersFactory</code></a> implementation.</div>
</th>
</tr>
<tr id="i337" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html" title="annotation in com.google.android.exoplayer2">DefaultRenderersFactory.ExtensionRendererMode</a></td>
<th class="colLast" scope="row">
<div class="block">Modes for using extension renderers.</div>
</th>
</tr>
<tr id="i338" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DefaultRenderersFactoryAsserts.html" title="class in com.google.android.exoplayer2.testutil">DefaultRenderersFactoryAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Assertions for <a href="com/google/android/exoplayer2/DefaultRenderersFactory.html" title="class in com.google.android.exoplayer2"><code>DefaultRenderersFactory</code></a>.</div>
</th>
</tr>
<tr id="i339" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/reader/DefaultRtpPayloadReaderFactory.html" title="class in com.google.android.exoplayer2.source.rtsp.reader">DefaultRtpPayloadReaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/source/rtsp/reader/RtpPayloadReader.Factory.html" title="interface in com.google.android.exoplayer2.source.rtsp.reader"><code>RtpPayloadReader.Factory</code></a> implementation.</div>
</th>
</tr>
<tr id="i340" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.html" title="class in com.google.android.exoplayer2.source.smoothstreaming">DefaultSsChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">A default <a href="com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html" title="interface in com.google.android.exoplayer2.source.smoothstreaming"><code>SsChunkSource</code></a> implementation.</div>
</th>
</tr>
<tr id="i341" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.Factory.html" title="class in com.google.android.exoplayer2.source.smoothstreaming">DefaultSsChunkSource.Factory</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i342" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/DefaultTimeBar.html" title="class in com.google.android.exoplayer2.ui">DefaultTimeBar</a></td>
<th class="colLast" scope="row">
<div class="block">A time bar that shows a current position, buffered position, duration and ad markers.</div>
</th>
</tr>
<tr id="i343" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html" title="class in com.google.android.exoplayer2.ui">DefaultTrackNameProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A default <a href="com/google/android/exoplayer2/ui/TrackNameProvider.html" title="interface in com.google.android.exoplayer2.ui"><code>TrackNameProvider</code></a>.</div>
</th>
</tr>
<tr id="i344" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector</a></td>
<th class="colLast" scope="row">
<div class="block">A default <a href="com/google/android/exoplayer2/trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a> suitable for most use cases.</div>
</th>
</tr>
<tr id="i345" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.AudioTrackScore</a></td>
<th class="colLast" scope="row">
<div class="block">Represents how well an audio track matches the selection <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a>.</div>
</th>
</tr>
<tr id="i346" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.OtherTrackScore</a></td>
<th class="colLast" scope="row">
<div class="block">Represents how well any other track (non video, audio or text) matches the selection <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a>.</div>
</th>
</tr>
<tr id="i347" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.Parameters</a></td>
<th class="colLast" scope="row">
<div class="block">Extends <a href="com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelectionParameters</code></a> by adding fields that are specific to <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector</code></a>.</div>
</th>
</tr>
<tr id="i348" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.ParametersBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a>.</div>
</th>
</tr>
<tr id="i349" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.SelectionOverride</a></td>
<th class="colLast" scope="row">
<div class="block">A track selection override.</div>
</th>
</tr>
<tr id="i350" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.TextTrackScore</a></td>
<th class="colLast" scope="row">
<div class="block">Represents how well a text track matches the selection <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a>.</div>
</th>
</tr>
<tr id="i351" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html" title="class in com.google.android.exoplayer2.trackselection">DefaultTrackSelector.VideoTrackScore</a></td>
<th class="colLast" scope="row">
<div class="block">Represents how well a video track matches the selection <a href="com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>DefaultTrackSelector.Parameters</code></a>.</div>
</th>
</tr>
<tr id="i352" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html" title="class in com.google.android.exoplayer2.extractor.ts">DefaultTsPayloadReaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html" title="interface in com.google.android.exoplayer2.extractor.ts"><code>TsPayloadReader.Factory</code></a> implementation.</div>
</th>
</tr>
<tr id="i353" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.ts">DefaultTsPayloadReaderFactory.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling elementary stream readers' behavior.</div>
</th>
</tr>
<tr id="i354" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/Descriptor.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Descriptor</a></td>
<th class="colLast" scope="row">
<div class="block">A descriptor, as defined by ISO 23009-1, 2nd edition, 5.8.2.</div>
</th>
</tr>
<tr id="i355" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/device/DeviceInfo.html" title="class in com.google.android.exoplayer2.device">DeviceInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Information about the playback device.</div>
</th>
</tr>
<tr id="i356" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/device/DeviceInfo.PlaybackType.html" title="annotation in com.google.android.exoplayer2.device">DeviceInfo.PlaybackType</a></td>
<th class="colLast" scope="row">
<div class="block">Types of playback.</div>
</th>
</tr>
<tr id="i357" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/device/DeviceListener.html" title="interface in com.google.android.exoplayer2.device">DeviceListener</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2"><code>Player.Listener</code></a>.</div>
</th>
</tr>
<tr id="i358" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/DolbyVisionConfig.html" title="class in com.google.android.exoplayer2.video">DolbyVisionConfig</a></td>
<th class="colLast" scope="row">
<div class="block">Dolby Vision configuration data.</div>
</th>
</tr>
<tr id="i359" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline">Download</a></td>
<th class="colLast" scope="row">
<div class="block">Represents state of a download.</div>
</th>
</tr>
<tr id="i360" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/Download.FailureReason.html" title="annotation in com.google.android.exoplayer2.offline">Download.FailureReason</a></td>
<th class="colLast" scope="row">
<div class="block">Failure reasons.</div>
</th>
</tr>
<tr id="i361" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/Download.State.html" title="annotation in com.google.android.exoplayer2.offline">Download.State</a></td>
<th class="colLast" scope="row">
<div class="block">Download states.</div>
</th>
</tr>
<tr id="i362" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DownloadBuilder.html" title="class in com.google.android.exoplayer2.testutil">DownloadBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline"><code>Download</code></a>.</div>
</th>
</tr>
<tr id="i363" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadCursor.html" title="interface in com.google.android.exoplayer2.offline">DownloadCursor</a></td>
<th class="colLast" scope="row">
<div class="block">Provides random read-write access to the result set returned by a database query.</div>
</th>
</tr>
<tr id="i364" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/Downloader.html" title="interface in com.google.android.exoplayer2.offline">Downloader</a></td>
<th class="colLast" scope="row">
<div class="block">Downloads and removes a piece of content.</div>
</th>
</tr>
<tr id="i365" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/Downloader.ProgressListener.html" title="interface in com.google.android.exoplayer2.offline">Downloader.ProgressListener</a></td>
<th class="colLast" scope="row">
<div class="block">Receives progress updates during download operations.</div>
</th>
</tr>
<tr id="i366" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloaderFactory.html" title="interface in com.google.android.exoplayer2.offline">DownloaderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Creates <a href="com/google/android/exoplayer2/offline/Downloader.html" title="interface in com.google.android.exoplayer2.offline"><code>Downloaders</code></a> for given <a href="com/google/android/exoplayer2/offline/DownloadRequest.html" title="class in com.google.android.exoplayer2.offline"><code>DownloadRequests</code></a>.</div>
</th>
</tr>
<tr id="i367" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadException.html" title="class in com.google.android.exoplayer2.offline">DownloadException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown on an error during downloading.</div>
</th>
</tr>
<tr id="i368" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadHelper.html" title="class in com.google.android.exoplayer2.offline">DownloadHelper</a></td>
<th class="colLast" scope="row">
<div class="block">A helper for initializing and removing downloads.</div>
</th>
</tr>
<tr id="i369" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadHelper.Callback.html" title="interface in com.google.android.exoplayer2.offline">DownloadHelper.Callback</a></td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified when the <a href="com/google/android/exoplayer2/offline/DownloadHelper.html" title="class in com.google.android.exoplayer2.offline"><code>DownloadHelper</code></a> is prepared.</div>
</th>
</tr>
<tr id="i370" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadHelper.LiveContentUnsupportedException.html" title="class in com.google.android.exoplayer2.offline">DownloadHelper.LiveContentUnsupportedException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown at an attempt to download live content.</div>
</th>
</tr>
<tr id="i371" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadIndex.html" title="interface in com.google.android.exoplayer2.offline">DownloadIndex</a></td>
<th class="colLast" scope="row">
<div class="block">An index of <a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline"><code>Downloads</code></a>.</div>
</th>
</tr>
<tr id="i372" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadManager.html" title="class in com.google.android.exoplayer2.offline">DownloadManager</a></td>
<th class="colLast" scope="row">
<div class="block">Manages downloads.</div>
</th>
</tr>
<tr id="i373" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadManager.Listener.html" title="interface in com.google.android.exoplayer2.offline">DownloadManager.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for <a href="com/google/android/exoplayer2/offline/DownloadManager.html" title="class in com.google.android.exoplayer2.offline"><code>DownloadManager</code></a> events.</div>
</th>
</tr>
<tr id="i374" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/DownloadNotificationHelper.html" title="class in com.google.android.exoplayer2.ui">DownloadNotificationHelper</a></td>
<th class="colLast" scope="row">
<div class="block">Helper for creating download notifications.</div>
</th>
</tr>
<tr id="i375" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadProgress.html" title="class in com.google.android.exoplayer2.offline">DownloadProgress</a></td>
<th class="colLast" scope="row">
<div class="block">Mutable <a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline"><code>Download</code></a> progress.</div>
</th>
</tr>
<tr id="i376" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadRequest.html" title="class in com.google.android.exoplayer2.offline">DownloadRequest</a></td>
<th class="colLast" scope="row">
<div class="block">Defines content to be downloaded.</div>
</th>
</tr>
<tr id="i377" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadRequest.Builder.html" title="class in com.google.android.exoplayer2.offline">DownloadRequest.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for download requests.</div>
</th>
</tr>
<tr id="i378" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadRequest.UnsupportedRequestException.html" title="class in com.google.android.exoplayer2.offline">DownloadRequest.UnsupportedRequestException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the encoded request data belongs to an unsupported request type.</div>
</th>
</tr>
<tr id="i379" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/DownloadService.html" title="class in com.google.android.exoplayer2.offline">DownloadService</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="https://developer.android.com/reference/android/app/Service.html" title="class or interface in android.app" class="externalLink" target="_top"><code>Service</code></a> for downloading media.</div>
</th>
</tr>
<tr id="i380" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmInitData.html" title="class in com.google.android.exoplayer2.drm">DrmInitData</a></td>
<th class="colLast" scope="row">
<div class="block">Initialization data for one or more DRM schemes.</div>
</th>
</tr>
<tr id="i381" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmInitData.SchemeData.html" title="class in com.google.android.exoplayer2.drm">DrmInitData.SchemeData</a></td>
<th class="colLast" scope="row">
<div class="block">Scheme initialization data.</div>
</th>
</tr>
<tr id="i382" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSession.html" title="interface in com.google.android.exoplayer2.drm">DrmSession</a></td>
<th class="colLast" scope="row">
<div class="block">A DRM session.</div>
</th>
</tr>
<tr id="i383" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSession.DrmSessionException.html" title="class in com.google.android.exoplayer2.drm">DrmSession.DrmSessionException</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps the throwable which is the cause of the error state.</div>
</th>
</tr>
<tr id="i384" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSession.State.html" title="annotation in com.google.android.exoplayer2.drm">DrmSession.State</a></td>
<th class="colLast" scope="row">
<div class="block">The state of the DRM session.</div>
</th>
</tr>
<tr id="i385" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSessionEventListener.html" title="interface in com.google.android.exoplayer2.drm">DrmSessionEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of <a href="com/google/android/exoplayer2/drm/DrmSessionManager.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessionManager</code></a> events.</div>
</th>
</tr>
<tr id="i386" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSessionEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.drm">DrmSessionEventListener.EventDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Dispatches events to <a href="com/google/android/exoplayer2/drm/DrmSessionEventListener.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessionEventListeners</code></a>.</div>
</th>
</tr>
<tr id="i387" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSessionManager.html" title="interface in com.google.android.exoplayer2.drm">DrmSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">Manages a DRM session.</div>
</th>
</tr>
<tr id="i388" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSessionManager.DrmSessionReference.html" title="interface in com.google.android.exoplayer2.drm">DrmSessionManager.DrmSessionReference</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a single reference count of a <a href="com/google/android/exoplayer2/drm/DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSession</code></a>, while deliberately not giving
 access to the underlying session.</div>
</th>
</tr>
<tr id="i389" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html" title="interface in com.google.android.exoplayer2.drm">DrmSessionManagerProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A provider to obtain a <a href="com/google/android/exoplayer2/drm/DrmSessionManager.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSessionManager</code></a> suitable for playing the content described by a
 <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</th>
</tr>
<tr id="i390" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/DtsReader.html" title="class in com.google.android.exoplayer2.extractor.ts">DtsReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous DTS byte stream and extracts individual samples.</div>
</th>
</tr>
<tr id="i391" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/DtsUtil.html" title="class in com.google.android.exoplayer2.audio">DtsUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for parsing DTS frames.</div>
</th>
</tr>
<tr id="i392" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/DummyDataSource.html" title="class in com.google.android.exoplayer2.upstream">DummyDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A DataSource which provides no data.</div>
</th>
</tr>
<tr id="i393" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/DummyExoMediaDrm.html" title="class in com.google.android.exoplayer2.drm">DummyExoMediaDrm</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> that does not support any protection schemes.</div>
</th>
</tr>
<tr id="i394" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/DummyExtractorOutput.html" title="class in com.google.android.exoplayer2.extractor">DummyExtractorOutput</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorOutput</code></a> implementation.</div>
</th>
</tr>
<tr id="i395" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DummyMainThread.html" title="class in com.google.android.exoplayer2.testutil">DummyMainThread</a></td>
<th class="colLast" scope="row">
<div class="block">Helper class to simulate main/UI thread in tests.</div>
</th>
</tr>
<tr id="i396" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DummyMainThread.TestRunnable.html" title="interface in com.google.android.exoplayer2.testutil">DummyMainThread.TestRunnable</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="https://developer.android.com/reference/java/lang/Runnable.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>Runnable</code></a> variant which can throw a checked exception.</div>
</th>
</tr>
<tr id="i397" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/DummySurface.html" title="class in com.google.android.exoplayer2.video">DummySurface</a></td>
<th class="colLast" scope="row">
<div class="block">A dummy <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>.</div>
</th>
</tr>
<tr id="i398" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/DummyTrackOutput.html" title="class in com.google.android.exoplayer2.extractor">DummyTrackOutput</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutput</code></a> implementation.</div>
</th>
</tr>
<tr id="i399" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DumpableFormat.html" title="class in com.google.android.exoplayer2.testutil">DumpableFormat</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> to allow dumping it.</div>
</th>
</tr>
<tr id="i400" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Dumper.html" title="class in com.google.android.exoplayer2.testutil">Dumper</a></td>
<th class="colLast" scope="row">
<div class="block">Helper utility to dump field values.</div>
</th>
</tr>
<tr id="i401" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/Dumper.Dumpable.html" title="interface in com.google.android.exoplayer2.testutil">Dumper.Dumpable</a></td>
<th class="colLast" scope="row">
<div class="block">Provides custom dump method.</div>
</th>
</tr>
<tr id="i402" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/DumpFileAsserts.html" title="class in com.google.android.exoplayer2.testutil">DumpFileAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Helper class to enable assertions based on golden-data dump files.</div>
</th>
</tr>
<tr id="i403" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/dvb/DvbDecoder.html" title="class in com.google.android.exoplayer2.text.dvb">DvbDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for DVB subtitles.</div>
</th>
</tr>
<tr id="i404" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html" title="class in com.google.android.exoplayer2.extractor.ts">DvbSubtitleReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses DVB subtitle data and extracts individual frames.</div>
</th>
</tr>
<tr id="i405" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html" title="interface in com.google.android.exoplayer2.extractor.mkv">EbmlProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">Defines EBML element IDs/types and processes events.</div>
</th>
</tr>
<tr id="i406" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html" title="annotation in com.google.android.exoplayer2.extractor.mkv">EbmlProcessor.ElementType</a></td>
<th class="colLast" scope="row">
<div class="block">EBML element types.</div>
</th>
</tr>
<tr id="i407" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.html" title="class in com.google.android.exoplayer2.util">EGLSurfaceTexture</a></td>
<th class="colLast" scope="row">
<div class="block">Generates a <a href="https://developer.android.com/reference/android/graphics/SurfaceTexture.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>SurfaceTexture</code></a> using EGL/GLES functions.</div>
</th>
</tr>
<tr id="i408" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html" title="class in com.google.android.exoplayer2.util">EGLSurfaceTexture.GlException</a></td>
<th class="colLast" scope="row">
<div class="block">A runtime exception to be thrown if some EGL operations failed.</div>
</th>
</tr>
<tr id="i409" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html" title="annotation in com.google.android.exoplayer2.util">EGLSurfaceTexture.SecureMode</a></td>
<th class="colLast" scope="row">
<div class="block">Secure mode to be used by the EGL surface and context.</div>
</th>
</tr>
<tr id="i410" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html" title="interface in com.google.android.exoplayer2.util">EGLSurfaceTexture.TextureImageListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be called when the texture image on <a href="https://developer.android.com/reference/android/graphics/SurfaceTexture.html" title="class or interface in android.graphics" class="externalLink" target="_top"><code>SurfaceTexture</code></a> has been updated.</div>
</th>
</tr>
<tr id="i411" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html" title="interface in com.google.android.exoplayer2.extractor.ts">ElementaryStreamReader</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts individual samples from an elementary media stream, preserving original order.</div>
</th>
</tr>
<tr id="i412" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/EmptySampleStream.html" title="class in com.google.android.exoplayer2.source">EmptySampleStream</a></td>
<th class="colLast" scope="row">
<div class="block">An empty <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
</th>
</tr>
<tr id="i413" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ErrorMessageProvider.html" title="interface in com.google.android.exoplayer2.util">ErrorMessageProvider</a>&lt;<a href="com/google/android/exoplayer2/util/ErrorMessageProvider.html" title="type parameter in ErrorMessageProvider">T</a> extends <a href="https://developer.android.com/reference/java/lang/Throwable.html" title="class or interface in java.lang" class="externalLink" target="_top">Throwable</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Converts throwables into error codes and user readable error messages.</div>
</th>
</tr>
<tr id="i414" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ErrorStateDrmSession.html" title="class in com.google.android.exoplayer2.drm">ErrorStateDrmSession</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/drm/DrmSession.html" title="interface in com.google.android.exoplayer2.drm"><code>DrmSession</code></a> that's in a terminal error state.</div>
</th>
</tr>
<tr id="i415" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/EventLogger.html" title="class in com.google.android.exoplayer2.util">EventLogger</a></td>
<th class="colLast" scope="row">
<div class="block">Logs events from <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> and other core components using <a href="com/google/android/exoplayer2/util/Log.html" title="class in com.google.android.exoplayer2.util"><code>Log</code></a>.</div>
</th>
</tr>
<tr id="i416" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/emsg/EventMessage.html" title="class in com.google.android.exoplayer2.metadata.emsg">EventMessage</a></td>
<th class="colLast" scope="row">
<div class="block">An Event Message (emsg) as defined in ISO 23009-1.</div>
</th>
</tr>
<tr id="i417" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html" title="class in com.google.android.exoplayer2.metadata.emsg">EventMessageDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes data encoded by <a href="com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html" title="class in com.google.android.exoplayer2.metadata.emsg"><code>EventMessageEncoder</code></a>.</div>
</th>
</tr>
<tr id="i418" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html" title="class in com.google.android.exoplayer2.metadata.emsg">EventMessageEncoder</a></td>
<th class="colLast" scope="row">
<div class="block">Encodes data that can be decoded by <a href="com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html" title="class in com.google.android.exoplayer2.metadata.emsg"><code>EventMessageDecoder</code></a>.</div>
</th>
</tr>
<tr id="i419" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/EventStream.html" title="class in com.google.android.exoplayer2.source.dash.manifest">EventStream</a></td>
<th class="colLast" scope="row">
<div class="block">A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.</div>
</th>
</tr>
<tr id="i420" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/database/ExoDatabaseProvider.html" title="class in com.google.android.exoplayer2.database">ExoDatabaseProvider</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html" title="class or interface in android.database.sqlite" class="externalLink" target="_top"><code>SQLiteOpenHelper</code></a> that provides instances of a standalone ExoPlayer database.</div>
</th>
</tr>
<tr id="i421" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ExoFlags.html" title="class in com.google.android.exoplayer2.util">ExoFlags</a></td>
<th class="colLast" scope="row">
<div class="block">A set of integer flags.</div>
</th>
</tr>
<tr id="i422" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ExoFlags.Builder.html" title="class in com.google.android.exoplayer2.util">ExoFlags.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/util/ExoFlags.html" title="class in com.google.android.exoplayer2.util"><code>ExoFlags</code></a> instances.</div>
</th>
</tr>
<tr id="i423" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExoHostedTest.html" title="class in com.google.android.exoplayer2.testutil">ExoHostedTest</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html" title="interface in com.google.android.exoplayer2.testutil"><code>HostActivity.HostedTest</code></a> for <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> playback tests.</div>
</th>
</tr>
<tr id="i424" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaCrypto.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaCrypto</a></td>
<th class="colLast" scope="row">
<div class="block">Enables decoding of encrypted data using keys in a DRM session.</div>
</th>
</tr>
<tr id="i425" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm</a></td>
<th class="colLast" scope="row">
<div class="block">Used to obtain keys for decrypting protected media streams.</div>
</th>
</tr>
<tr id="i426" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.AppManagedProvider.html" title="class in com.google.android.exoplayer2.drm">ExoMediaDrm.AppManagedProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides an <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> instance owned by the app.</div>
</th>
</tr>
<tr id="i427" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.html" title="class in com.google.android.exoplayer2.drm">ExoMediaDrm.KeyRequest</a></td>
<th class="colLast" scope="row">
<div class="block">Contains data used to request keys from a license server.</div>
</th>
</tr>
<tr id="i428" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.RequestType.html" title="annotation in com.google.android.exoplayer2.drm">ExoMediaDrm.KeyRequest.RequestType</a></td>
<th class="colLast" scope="row">
<div class="block">Key request types.</div>
</th>
</tr>
<tr id="i429" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.KeyStatus.html" title="class in com.google.android.exoplayer2.drm">ExoMediaDrm.KeyStatus</a></td>
<th class="colLast" scope="row">
<div class="block">Defines the status of a key.</div>
</th>
</tr>
<tr id="i430" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.OnEventListener.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.OnEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Called when a DRM event occurs.</div>
</th>
</tr>
<tr id="i431" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.OnExpirationUpdateListener.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.OnExpirationUpdateListener</a></td>
<th class="colLast" scope="row">
<div class="block">Called when a session expiration update occurs.</div>
</th>
</tr>
<tr id="i432" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.OnKeyStatusChangeListener.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.OnKeyStatusChangeListener</a></td>
<th class="colLast" scope="row">
<div class="block">Called when the keys in a DRM session change state.</div>
</th>
</tr>
<tr id="i433" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.Provider.html" title="interface in com.google.android.exoplayer2.drm">ExoMediaDrm.Provider</a></td>
<th class="colLast" scope="row">
<div class="block">Provider for <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> instances.</div>
</th>
</tr>
<tr id="i434" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/ExoMediaDrm.ProvisionRequest.html" title="class in com.google.android.exoplayer2.drm">ExoMediaDrm.ProvisionRequest</a></td>
<th class="colLast" scope="row">
<div class="block">Contains data to request a certificate from a provisioning server.</div>
</th>
</tr>
<tr id="i435" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlaybackException.html" title="class in com.google.android.exoplayer2">ExoPlaybackException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a non locally recoverable playback failure occurs.</div>
</th>
</tr>
<tr id="i436" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlaybackException.Type.html" title="annotation in com.google.android.exoplayer2">ExoPlaybackException.Type</a></td>
<th class="colLast" scope="row">
<div class="block">The type of source that produced the error.</div>
</th>
</tr>
<tr id="i437" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2">ExoPlayer</a></td>
<th class="colLast" scope="row">
<div class="block">An extensible media player that plays <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i438" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.AudioComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioComponent</a></td>
<th class="colLast" scope="row">
<div class="block">The audio component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i439" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.AudioOffloadListener.html" title="interface in com.google.android.exoplayer2">ExoPlayer.AudioOffloadListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for audio offload events.</div>
</th>
</tr>
<tr id="i440" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">ExoPlayer.Builder</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer.Builder</code></a> instead.</div>
</th>
</tr>
<tr id="i441" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.DeviceComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.DeviceComponent</a></td>
<th class="colLast" scope="row">
<div class="block">The device component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i442" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.MetadataComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.MetadataComponent</a></td>
<th class="colLast" scope="row">
<div class="block">The metadata component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i443" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.TextComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.TextComponent</a></td>
<th class="colLast" scope="row">
<div class="block">The text component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i444" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayer.VideoComponent.html" title="interface in com.google.android.exoplayer2">ExoPlayer.VideoComponent</a></td>
<th class="colLast" scope="row">
<div class="block">The video component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i445" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoPlayerLibraryInfo.html" title="class in com.google.android.exoplayer2">ExoPlayerLibraryInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Information about the ExoPlayer library.</div>
</th>
</tr>
<tr id="i446" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html" title="class in com.google.android.exoplayer2.testutil">ExoPlayerTestRunner</a></td>
<th class="colLast" scope="row">
<div class="block">Helper class to run an ExoPlayer test.</div>
</th>
</tr>
<tr id="i447" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.Builder.html" title="class in com.google.android.exoplayer2.testutil">ExoPlayerTestRunner.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder to set-up a <a href="com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html" title="class in com.google.android.exoplayer2.testutil"><code>ExoPlayerTestRunner</code></a>.</div>
</th>
</tr>
<tr id="i448" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoTimeoutException.html" title="class in com.google.android.exoplayer2">ExoTimeoutException</a></td>
<th class="colLast" scope="row">
<div class="block">A timeout of an operation on the ExoPlayer playback thread.</div>
</th>
</tr>
<tr id="i449" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ExoTimeoutException.TimeoutOperation.html" title="annotation in com.google.android.exoplayer2">ExoTimeoutException.TimeoutOperation</a></td>
<th class="colLast" scope="row">
<div class="block">The operation which produced the timeout error.</div>
</th>
</tr>
<tr id="i450" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection">ExoTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/trackselection/TrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>TrackSelection</code></a> that can change the individually selected track as a result of calling
 <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html#updateSelectedTrack(long,long,long,java.util.List,com.google.android.exoplayer2.source.chunk.MediaChunkIterator%5B%5D)"><code>ExoTrackSelection.updateSelectedTrack(long, long, long, List, MediaChunkIterator[])</code></a> or <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html#evaluateQueueSize(long,java.util.List)"><code>ExoTrackSelection.evaluateQueueSize(long, List)</code></a>.</div>
</th>
</tr>
<tr id="i451" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.Definition.html" title="class in com.google.android.exoplayer2.trackselection">ExoTrackSelection.Definition</a></td>
<th class="colLast" scope="row">
<div class="block">Contains of a subset of selected tracks belonging to a <a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a>.</div>
</th>
</tr>
<tr id="i452" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.Factory.html" title="interface in com.google.android.exoplayer2.trackselection">ExoTrackSelection.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a> instances.</div>
</th>
</tr>
<tr id="i453" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor">Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts media data from a container format.</div>
</th>
</tr>
<tr id="i454" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/Extractor.ReadResult.html" title="annotation in com.google.android.exoplayer2.extractor">Extractor.ReadResult</a></td>
<th class="colLast" scope="row">
<div class="block">Result values that can be returned by <a href="com/google/android/exoplayer2/extractor/Extractor.html#read(com.google.android.exoplayer2.extractor.ExtractorInput,com.google.android.exoplayer2.extractor.PositionHolder)"><code>Extractor.read(ExtractorInput, PositionHolder)</code></a>.</div>
</th>
</tr>
<tr id="i455" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.html" title="class in com.google.android.exoplayer2.testutil">ExtractorAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Assertion methods for <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a>.</div>
</th>
</tr>
<tr id="i456" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html" title="class in com.google.android.exoplayer2.testutil">ExtractorAsserts.AssertionConfig</a></td>
<th class="colLast" scope="row">
<div class="block">A config for the assertions made (e.g.</div>
</th>
</tr>
<tr id="i457" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.Builder.html" title="class in com.google.android.exoplayer2.testutil">ExtractorAsserts.AssertionConfig.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html" title="class in com.google.android.exoplayer2.testutil"><code>ExtractorAsserts.AssertionConfig</code></a> instances.</div>
</th>
</tr>
<tr id="i458" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.ExtractorFactory.html" title="interface in com.google.android.exoplayer2.testutil">ExtractorAsserts.ExtractorFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a> instances.</div>
</th>
</tr>
<tr id="i459" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/ExtractorAsserts.SimulationConfig.html" title="class in com.google.android.exoplayer2.testutil">ExtractorAsserts.SimulationConfig</a></td>
<th class="colLast" scope="row">
<div class="block">A config of different environments to simulate and extractor behaviours to test.</div>
</th>
</tr>
<tr id="i460" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorInput</a></td>
<th class="colLast" scope="row">
<div class="block">Provides data to be consumed by an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a>.</div>
</th>
</tr>
<tr id="i461" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorOutput</a></td>
<th class="colLast" scope="row">
<div class="block">Receives stream level data extracted by an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a>.</div>
</th>
</tr>
<tr id="i462" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ExtractorsFactory.html" title="interface in com.google.android.exoplayer2.extractor">ExtractorsFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for arrays of <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a> instances.</div>
</th>
</tr>
<tr id="i463" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ExtractorUtil.html" title="class in com.google.android.exoplayer2.extractor">ExtractorUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Extractor related utility methods.</div>
</th>
</tr>
<tr id="i464" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FailOnCloseDataSink.html" title="class in com.google.android.exoplayer2.testutil">FailOnCloseDataSink</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink</code></a> that can simulate caching the bytes being written to it, and then failing to
 persist them when <a href="com/google/android/exoplayer2/testutil/FailOnCloseDataSink.html#close()"><code>FailOnCloseDataSink.close()</code></a> is called.</div>
</th>
</tr>
<tr id="i465" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FailOnCloseDataSink.Factory.html" title="class in com.google.android.exoplayer2.testutil">FailOnCloseDataSink.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory to create a <a href="com/google/android/exoplayer2/testutil/FailOnCloseDataSink.html" title="class in com.google.android.exoplayer2.testutil"><code>FailOnCloseDataSink</code></a>.</div>
</th>
</tr>
<tr id="i466" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html" title="class in com.google.android.exoplayer2.testutil">FakeAdaptiveDataSet</a></td>
<th class="colLast" scope="row">
<div class="block">Fake data set emulating the data of an adaptive media source.</div>
</th>
</tr>
<tr id="i467" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Factory.html" title="class in com.google.android.exoplayer2.testutil">FakeAdaptiveDataSet.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeAdaptiveDataSet</code></a>s.</div>
</th>
</tr>
<tr id="i468" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Iterator.html" title="class in com.google.android.exoplayer2.testutil">FakeAdaptiveDataSet.Iterator</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>MediaChunkIterator</code></a> for the chunks defined by a fake adaptive data set.</div>
</th>
</tr>
<tr id="i469" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAdaptiveMediaPeriod.html" title="class in com.google.android.exoplayer2.testutil">FakeAdaptiveMediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a> that provides tracks from the given <a href="com/google/android/exoplayer2/source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroupArray</code></a>.</div>
</th>
</tr>
<tr id="i470" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.html" title="class in com.google.android.exoplayer2.testutil">FakeAdaptiveMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> that provides a given timeline.</div>
</th>
</tr>
<tr id="i471" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeAudioRenderer.html" title="class in com.google.android.exoplayer2.testutil">FakeAudioRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/testutil/FakeRenderer.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeRenderer</code></a> that supports <a href="com/google/android/exoplayer2/C.html#TRACK_TYPE_AUDIO"><code>C.TRACK_TYPE_AUDIO</code></a>.</div>
</th>
</tr>
<tr id="i472" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeChunkSource.html" title="class in com.google.android.exoplayer2.testutil">FakeChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkSource</code></a> with adaptive media chunks of a given duration.</div>
</th>
</tr>
<tr id="i473" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeChunkSource.Factory.html" title="class in com.google.android.exoplayer2.testutil">FakeChunkSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for a <a href="com/google/android/exoplayer2/testutil/FakeChunkSource.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeChunkSource</code></a>.</div>
</th>
</tr>
<tr id="i474" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeClock.html" title="class in com.google.android.exoplayer2.testutil">FakeClock</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/util/Clock.html" title="interface in com.google.android.exoplayer2.util"><code>Clock</code></a> implementation that allows to <a href="com/google/android/exoplayer2/testutil/FakeClock.html#advanceTime(long)"><code>advance the time</code></a>
 manually to trigger pending timed messages.</div>
</th>
</tr>
<tr id="i475" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeDataSet.html" title="class in com.google.android.exoplayer2.testutil">FakeDataSet</a></td>
<th class="colLast" scope="row">
<div class="block">Collection of <a href="com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeDataSet.FakeData</code></a> to be served by a <a href="com/google/android/exoplayer2/testutil/FakeDataSource.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeDataSource</code></a>.</div>
</th>
</tr>
<tr id="i476" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html" title="class in com.google.android.exoplayer2.testutil">FakeDataSet.FakeData</a></td>
<th class="colLast" scope="row">
<div class="block">Container of fake data to be served by a <a href="com/google/android/exoplayer2/testutil/FakeDataSource.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeDataSource</code></a>.</div>
</th>
</tr>
<tr id="i477" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.Segment.html" title="class in com.google.android.exoplayer2.testutil">FakeDataSet.FakeData.Segment</a></td>
<th class="colLast" scope="row">
<div class="block">A segment of <a href="com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeDataSet.FakeData</code></a>.</div>
</th>
</tr>
<tr id="i478" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeDataSource.html" title="class in com.google.android.exoplayer2.testutil">FakeDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> capable of simulating various scenarios.</div>
</th>
</tr>
<tr id="i479" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeDataSource.Factory.html" title="class in com.google.android.exoplayer2.testutil">FakeDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory to create a <a href="com/google/android/exoplayer2/testutil/FakeDataSource.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeDataSource</code></a>.</div>
</th>
</tr>
<tr id="i480" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html" title="class in com.google.android.exoplayer2.testutil">FakeExoMediaDrm</a></td>
<th class="colLast" scope="row">
<div class="block">A fake implementation of <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> for use in tests.</div>
</th>
</tr>
<tr id="i481" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExoMediaDrm.Builder.html" title="class in com.google.android.exoplayer2.testutil">FakeExoMediaDrm.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeExoMediaDrm</code></a> instances.</div>
</th>
</tr>
<tr id="i482" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExoMediaDrm.LicenseServer.html" title="class in com.google.android.exoplayer2.testutil">FakeExoMediaDrm.LicenseServer</a></td>
<th class="colLast" scope="row">
<div class="block">An license server implementation to interact with <a href="com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeExoMediaDrm</code></a>.</div>
</th>
</tr>
<tr id="i483" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExtractorInput.html" title="class in com.google.android.exoplayer2.testutil">FakeExtractorInput</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a> capable of simulating various scenarios.</div>
</th>
</tr>
<tr id="i484" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExtractorInput.Builder.html" title="class in com.google.android.exoplayer2.testutil">FakeExtractorInput.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder of <a href="com/google/android/exoplayer2/testutil/FakeExtractorInput.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeExtractorInput</code></a> instances.</div>
</th>
</tr>
<tr id="i485" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExtractorInput.SimulatedIOException.html" title="class in com.google.android.exoplayer2.testutil">FakeExtractorInput.SimulatedIOException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when simulating an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a>.</div>
</th>
</tr>
<tr id="i486" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeExtractorOutput.html" title="class in com.google.android.exoplayer2.testutil">FakeExtractorOutput</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorOutput</code></a>.</div>
</th>
</tr>
<tr id="i487" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaChunk.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaChunk</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/chunk/MediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>MediaChunk</code></a>.</div>
</th>
</tr>
<tr id="i488" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaChunkIterator.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaChunkIterator</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>MediaChunkIterator</code></a>.</div>
</th>
</tr>
<tr id="i489" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaClockRenderer.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaClockRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Fake abstract <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> which is also a <a href="com/google/android/exoplayer2/util/MediaClock.html" title="interface in com.google.android.exoplayer2.util"><code>MediaClock</code></a>.</div>
</th>
</tr>
<tr id="i490" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaPeriod.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a> that provides tracks from the given <a href="com/google/android/exoplayer2/source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroupArray</code></a>.</div>
</th>
</tr>
<tr id="i491" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaPeriod.TrackDataFactory.html" title="interface in com.google.android.exoplayer2.testutil">FakeMediaPeriod.TrackDataFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory to create the test data for a particular track.</div>
</th>
</tr>
<tr id="i492" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaSource.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> that provides a given timeline.</div>
</th>
</tr>
<tr id="i493" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeMediaSource.InitialTimeline.html" title="class in com.google.android.exoplayer2.testutil">FakeMediaSource.InitialTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">A forwarding timeline to provide an initial timeline for fake multi window sources.</div>
</th>
</tr>
<tr id="i494" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeRenderer.html" title="class in com.google.android.exoplayer2.testutil">FakeRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> that supports any format with the matching track type.</div>
</th>
</tr>
<tr id="i495" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeSampleStream.html" title="class in com.google.android.exoplayer2.testutil">FakeSampleStream</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a> that outputs a given <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> and any amount of <a href="com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html" title="class in com.google.android.exoplayer2.testutil"><code>items</code></a>.</div>
</th>
</tr>
<tr id="i496" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html" title="class in com.google.android.exoplayer2.testutil">FakeSampleStream.FakeSampleStreamItem</a></td>
<th class="colLast" scope="row">
<div class="block">Item to customize a return value of <a href="com/google/android/exoplayer2/source/SampleStream.html#readData(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)"><code>SampleStream.readData(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, int)</code></a>.</div>
</th>
</tr>
<tr id="i497" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeShuffleOrder.html" title="class in com.google.android.exoplayer2.testutil">FakeShuffleOrder</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source"><code>ShuffleOrder</code></a> which returns a reverse order.</div>
</th>
</tr>
<tr id="i498" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTimeline.html" title="class in com.google.android.exoplayer2.testutil">FakeTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">Fake <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> which can be setup to return custom <a href="com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeTimeline.TimelineWindowDefinition</code></a>s.</div>
</th>
</tr>
<tr id="i499" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html" title="class in com.google.android.exoplayer2.testutil">FakeTimeline.TimelineWindowDefinition</a></td>
<th class="colLast" scope="row">
<div class="block">Definition used to define a <a href="com/google/android/exoplayer2/testutil/FakeTimeline.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeTimeline</code></a>.</div>
</th>
</tr>
<tr id="i500" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTrackOutput.html" title="class in com.google.android.exoplayer2.testutil">FakeTrackOutput</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutput</code></a>.</div>
</th>
</tr>
<tr id="i501" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTrackOutput.Factory.html" title="interface in com.google.android.exoplayer2.testutil">FakeTrackOutput.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/testutil/FakeTrackOutput.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeTrackOutput</code></a> instances.</div>
</th>
</tr>
<tr id="i502" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTrackSelection.html" title="class in com.google.android.exoplayer2.testutil">FakeTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a> that only returns 1 fixed track, and allows querying the number
 of calls to its methods.</div>
</th>
</tr>
<tr id="i503" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeTrackSelector.html" title="class in com.google.android.exoplayer2.testutil">FakeTrackSelector</a></td>
<th class="colLast" scope="row">
<div class="block">A fake <a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>MappingTrackSelector</code></a> that returns <a href="com/google/android/exoplayer2/testutil/FakeTrackSelection.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeTrackSelection</code></a>s.</div>
</th>
</tr>
<tr id="i504" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/FakeVideoRenderer.html" title="class in com.google.android.exoplayer2.testutil">FakeVideoRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/testutil/FakeRenderer.html" title="class in com.google.android.exoplayer2.testutil"><code>FakeRenderer</code></a> that supports <a href="com/google/android/exoplayer2/C.html#TRACK_TYPE_VIDEO"><code>C.TRACK_TYPE_VIDEO</code></a>.</div>
</th>
</tr>
<tr id="i505" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.ffmpeg">FfmpegAudioRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders audio using FFmpeg.</div>
</th>
</tr>
<tr id="i506" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/ffmpeg/FfmpegDecoderException.html" title="class in com.google.android.exoplayer2.ext.ffmpeg">FfmpegDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an FFmpeg decoder error occurs.</div>
</th>
</tr>
<tr id="i507" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.html" title="class in com.google.android.exoplayer2.ext.ffmpeg">FfmpegLibrary</a></td>
<th class="colLast" scope="row">
<div class="block">Configures and queries the underlying native library.</div>
</th>
</tr>
<tr id="i508" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/FileDataSource.html" title="class in com.google.android.exoplayer2.upstream">FileDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading local files.</div>
</th>
</tr>
<tr id="i509" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/FileDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">FileDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/upstream/FileDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>FileDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i510" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">FileDataSource.FileDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a <a href="com/google/android/exoplayer2/upstream/FileDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>FileDataSource</code></a> encounters an error reading a file.</div>
</th>
</tr>
<tr id="i511" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/FileDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">FileDataSourceFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/upstream/FileDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream"><code>FileDataSource.Factory</code></a>.</div>
</th>
</tr>
<tr id="i512" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/FileTypes.html" title="class in com.google.android.exoplayer2.util">FileTypes</a></td>
<th class="colLast" scope="row">
<div class="block">Defines common file type constants and helper methods.</div>
</th>
</tr>
<tr id="i513" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/FileTypes.Type.html" title="annotation in com.google.android.exoplayer2.util">FileTypes.Type</a></td>
<th class="colLast" scope="row">
<div class="block">File types.</div>
</th>
</tr>
<tr id="i514" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="interface in com.google.android.exoplayer2.offline">FilterableManifest</a>&lt;<a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="type parameter in FilterableManifest">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A manifest that can generate copies of itself including only the streams specified by the given
 keys.</div>
</th>
</tr>
<tr id="i515" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/FilteringHlsPlaylistParserFactory.html" title="class in com.google.android.exoplayer2.source.hls.playlist">FilteringHlsPlaylistParserFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html" title="interface in com.google.android.exoplayer2.source.hls.playlist"><code>HlsPlaylistParserFactory</code></a> that includes only the streams identified by the given stream
 keys.</div>
</th>
</tr>
<tr id="i516" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/FilteringManifestParser.html" title="class in com.google.android.exoplayer2.offline">FilteringManifestParser</a>&lt;<a href="com/google/android/exoplayer2/offline/FilteringManifestParser.html" title="type parameter in FilteringManifestParser">T</a> extends <a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="interface in com.google.android.exoplayer2.offline">FilterableManifest</a>&lt;<a href="com/google/android/exoplayer2/offline/FilteringManifestParser.html" title="type parameter in FilteringManifestParser">T</a>&gt;&gt;</td>
<th class="colLast" scope="row">
<div class="block">A manifest parser that includes only the streams identified by the given stream keys.</div>
</th>
</tr>
<tr id="i517" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/FixedTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection">FixedTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/trackselection/TrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>TrackSelection</code></a> consisting of a single track.</div>
</th>
</tr>
<tr id="i518" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/FlacConstants.html" title="class in com.google.android.exoplayer2.util">FlacConstants</a></td>
<th class="colLast" scope="row">
<div class="block">Defines constants used by the FLAC extractor.</div>
</th>
</tr>
<tr id="i519" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/FlacDecoder.html" title="class in com.google.android.exoplayer2.ext.flac">FlacDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Flac decoder.</div>
</th>
</tr>
<tr id="i520" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/FlacDecoderException.html" title="class in com.google.android.exoplayer2.ext.flac">FlacDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an Flac decoder error occurs.</div>
</th>
</tr>
<tr id="i521" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/FlacExtractor.html" title="class in com.google.android.exoplayer2.ext.flac">FlacExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Facilitates the extraction of data from the FLAC container format.</div>
</th>
</tr>
<tr id="i522" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/flac/FlacExtractor.html" title="class in com.google.android.exoplayer2.extractor.flac">FlacExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from FLAC container format.</div>
</th>
</tr>
<tr id="i523" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/FlacExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.ext.flac">FlacExtractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i524" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/flac/FlacExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.flac">FlacExtractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i525" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacFrameReader.html" title="class in com.google.android.exoplayer2.extractor">FlacFrameReader</a></td>
<th class="colLast" scope="row">
<div class="block">Reads and peeks FLAC frame elements according to the <a href="https://xiph.org/flac/format.html">FLAC format specification</a>.</div>
</th>
</tr>
<tr id="i526" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacFrameReader.SampleNumberHolder.html" title="class in com.google.android.exoplayer2.extractor">FlacFrameReader.SampleNumberHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a sample number.</div>
</th>
</tr>
<tr id="i527" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/FlacLibrary.html" title="class in com.google.android.exoplayer2.ext.flac">FlacLibrary</a></td>
<th class="colLast" scope="row">
<div class="block">Configures and queries the underlying native library.</div>
</th>
</tr>
<tr id="i528" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacMetadataReader.html" title="class in com.google.android.exoplayer2.extractor">FlacMetadataReader</a></td>
<th class="colLast" scope="row">
<div class="block">Reads and peeks FLAC stream metadata elements according to the <a href="https://xiph.org/flac/format.html">FLAC format specification</a>.</div>
</th>
</tr>
<tr id="i529" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacMetadataReader.FlacStreamMetadataHolder.html" title="class in com.google.android.exoplayer2.extractor">FlacMetadataReader.FlacStreamMetadataHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a <a href="com/google/android/exoplayer2/extractor/FlacStreamMetadata.html" title="class in com.google.android.exoplayer2.extractor"><code>FlacStreamMetadata</code></a>.</div>
</th>
</tr>
<tr id="i530" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacSeekTableSeekMap.html" title="class in com.google.android.exoplayer2.extractor">FlacSeekTableSeekMap</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor"><code>SeekMap</code></a> implementation for FLAC streams that contain a <a href="https://xiph.org/flac/format.html#metadata_block_seektable">seek table</a>.</div>
</th>
</tr>
<tr id="i531" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacStreamMetadata.html" title="class in com.google.android.exoplayer2.extractor">FlacStreamMetadata</a></td>
<th class="colLast" scope="row">
<div class="block">Holder for FLAC metadata.</div>
</th>
</tr>
<tr id="i532" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/FlacStreamMetadata.SeekTable.html" title="class in com.google.android.exoplayer2.extractor">FlacStreamMetadata.SeekTable</a></td>
<th class="colLast" scope="row">
<div class="block">A FLAC seek table.</div>
</th>
</tr>
<tr id="i533" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/flv/FlvExtractor.html" title="class in com.google.android.exoplayer2.extractor.flv">FlvExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the FLV container format.</div>
</th>
</tr>
<tr id="i534" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2">Format</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a media format.</div>
</th>
</tr>
<tr id="i535" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Format.Builder.html" title="class in com.google.android.exoplayer2">Format.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builds <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a> instances.</div>
</th>
</tr>
<tr id="i536" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/FormatHolder.html" title="class in com.google.android.exoplayer2">FormatHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>.</div>
</th>
</tr>
<tr id="i537" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/ForwardingAudioSink.html" title="class in com.google.android.exoplayer2.audio">ForwardingAudioSink</a></td>
<th class="colLast" scope="row">
<div class="block">An overridable <a href="com/google/android/exoplayer2/audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioSink</code></a> implementation forwarding all methods to another sink.</div>
</th>
</tr>
<tr id="i538" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ForwardingExtractorInput.html" title="class in com.google.android.exoplayer2.extractor">ForwardingExtractorInput</a></td>
<th class="colLast" scope="row">
<div class="block">An overridable <a href="com/google/android/exoplayer2/extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a> implementation forwarding all methods to another input.</div>
</th>
</tr>
<tr id="i539" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ForwardingTimeline.html" title="class in com.google.android.exoplayer2.source">ForwardingTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">An overridable <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> implementation forwarding all methods to another timeline.</div>
</th>
</tr>
<tr id="i540" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the FMP4 container format.</div>
</th>
</tr>
<tr id="i541" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mp4">FragmentedMp4Extractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i542" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/FrameworkMediaCrypto.html" title="class in com.google.android.exoplayer2.drm">FrameworkMediaCrypto</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/drm/ExoMediaCrypto.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaCrypto</code></a> implementation that contains the necessary information to build or
 update a framework <a href="https://developer.android.com/reference/android/media/MediaCrypto.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCrypto</code></a>.</div>
</th>
</tr>
<tr id="i543" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/FrameworkMediaDrm.html" title="class in com.google.android.exoplayer2.drm">FrameworkMediaDrm</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> implementation that wraps the framework <a href="https://developer.android.com/reference/android/media/MediaDrm.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaDrm</code></a>.</div>
</th>
</tr>
<tr id="i544" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/GaplessInfoHolder.html" title="class in com.google.android.exoplayer2.extractor">GaplessInfoHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holder for gapless playback information.</div>
</th>
</tr>
<tr id="i545" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/av1/Gav1Decoder.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1Decoder</a></td>
<th class="colLast" scope="row">
<div class="block">Gav1 decoder.</div>
</th>
</tr>
<tr id="i546" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1DecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a libgav1 decoder error occurs.</div>
</th>
</tr>
<tr id="i547" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/av1/Gav1Library.html" title="class in com.google.android.exoplayer2.ext.av1">Gav1Library</a></td>
<th class="colLast" scope="row">
<div class="block">Configures and queries the underlying native library.</div>
</th>
</tr>
<tr id="i548" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/GeobFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">GeobFrame</a></td>
<th class="colLast" scope="row">
<div class="block">GEOB (General Encapsulated Object) ID3 frame.</div>
</th>
</tr>
<tr id="i549" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/GlUtil.html" title="class in com.google.android.exoplayer2.util">GlUtil</a></td>
<th class="colLast" scope="row">
<div class="block">GL utilities.</div>
</th>
</tr>
<tr id="i550" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/GlUtil.Attribute.html" title="class in com.google.android.exoplayer2.util">GlUtil.Attribute</a></td>
<th class="colLast" scope="row">
<div class="block">GL attribute, which can be attached to a buffer with <a href="com/google/android/exoplayer2/util/GlUtil.Attribute.html#setBuffer(float%5B%5D,int)"><code>GlUtil.Attribute.setBuffer(float[], int)</code></a>.</div>
</th>
</tr>
<tr id="i551" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/GlUtil.Uniform.html" title="class in com.google.android.exoplayer2.util">GlUtil.Uniform</a></td>
<th class="colLast" scope="row">
<div class="block">GL uniform, which can be attached to a sampler using <a href="com/google/android/exoplayer2/util/GlUtil.Uniform.html#setSamplerTexId(int,int)"><code>GlUtil.Uniform.setSamplerTexId(int, int)</code></a>.</div>
</th>
</tr>
<tr id="i552" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/gvr/GvrAudioProcessor.html" title="class in com.google.android.exoplayer2.ext.gvr">GvrAudioProcessor</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">If you still need this component, please contact us by filing an issue on our <a href="https://github.com/google/ExoPlayer/issues">issue tracker</a>.</div>
</th>
</tr>
<tr id="i553" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/H262Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H262Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous H262 byte stream and extracts individual frames.</div>
</th>
</tr>
<tr id="i554" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/H263Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H263Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses an ISO/IEC 14496-2 (MPEG-4 Part 2) or ITU-T Recommendation H.263 byte stream and extracts
 individual frames.</div>
</th>
</tr>
<tr id="i555" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/H264Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H264Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous H264 byte stream and extracts individual frames.</div>
</th>
</tr>
<tr id="i556" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/H265Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">H265Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous H.265 byte stream and extracts individual frames.</div>
</th>
</tr>
<tr id="i557" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/HandlerWrapper.html" title="interface in com.google.android.exoplayer2.util">HandlerWrapper</a></td>
<th class="colLast" scope="row">
<div class="block">An interface to call through to a <a href="https://developer.android.com/reference/android/os/Handler.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Handler</code></a>.</div>
</th>
</tr>
<tr id="i558" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/HandlerWrapper.Message.html" title="interface in com.google.android.exoplayer2.util">HandlerWrapper.Message</a></td>
<th class="colLast" scope="row">
<div class="block">A message obtained from the handler.</div>
</th>
</tr>
<tr id="i559" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/HeartRating.html" title="class in com.google.android.exoplayer2">HeartRating</a></td>
<th class="colLast" scope="row">
<div class="block">A rating expressed as "heart" or "no heart".</div>
</th>
</tr>
<tr id="i560" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/HevcConfig.html" title="class in com.google.android.exoplayer2.video">HevcConfig</a></td>
<th class="colLast" scope="row">
<div class="block">HEVC configuration data.</div>
</th>
</tr>
<tr id="i561" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html" title="interface in com.google.android.exoplayer2.source.hls">HlsDataSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Creates <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a>s for HLS playlists, encryption and media chunks.</div>
</th>
</tr>
<tr id="i562" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html" title="class in com.google.android.exoplayer2.source.hls.offline">HlsDownloader</a></td>
<th class="colLast" scope="row">
<div class="block">A downloader for HLS streams.</div>
</th>
</tr>
<tr id="i563" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html" title="interface in com.google.android.exoplayer2.source.hls">HlsExtractorFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for HLS media chunk extractors.</div>
</th>
</tr>
<tr id="i564" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsManifest.html" title="class in com.google.android.exoplayer2.source.hls">HlsManifest</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a master playlist along with a snapshot of one of its media playlists.</div>
</th>
</tr>
<tr id="i565" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist</a></td>
<th class="colLast" scope="row">
<div class="block">Represents an HLS master playlist.</div>
</th>
</tr>
<tr id="i566" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist.Rendition</a></td>
<th class="colLast" scope="row">
<div class="block">A rendition (i.e.</div>
</th>
</tr>
<tr id="i567" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMasterPlaylist.Variant</a></td>
<th class="colLast" scope="row">
<div class="block">A variant (i.e.</div>
</th>
</tr>
<tr id="i568" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls">HlsMediaChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts samples and track <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Formats</code></a> from <code>HlsMediaChunks</code>.</div>
</th>
</tr>
<tr id="i569" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a> that loads an HLS stream.</div>
</th>
</tr>
<tr id="i570" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist</a></td>
<th class="colLast" scope="row">
<div class="block">Represents an HLS media playlist.</div>
</th>
</tr>
<tr id="i571" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.Part</a></td>
<th class="colLast" scope="row">
<div class="block">A media part.</div>
</th>
</tr>
<tr id="i572" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.PlaylistType.html" title="annotation in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.PlaylistType</a></td>
<th class="colLast" scope="row">
<div class="block">Type of the playlist, as defined by #EXT-X-PLAYLIST-TYPE.</div>
</th>
</tr>
<tr id="i573" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.RenditionReport.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.RenditionReport</a></td>
<th class="colLast" scope="row">
<div class="block">A rendition report for an alternative rendition defined in another media playlist.</div>
</th>
</tr>
<tr id="i574" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.Segment</a></td>
<th class="colLast" scope="row">
<div class="block">Media segment reference.</div>
</th>
</tr>
<tr id="i575" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.SegmentBase.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.SegmentBase</a></td>
<th class="colLast" scope="row">
<div class="block">The base for a <a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html" title="class in com.google.android.exoplayer2.source.hls.playlist"><code>HlsMediaPlaylist.Segment</code></a> or a <a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html" title="class in com.google.android.exoplayer2.source.hls.playlist"><code>HlsMediaPlaylist.Part</code></a> required for playback.</div>
</th>
</tr>
<tr id="i576" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.ServerControl.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsMediaPlaylist.ServerControl</a></td>
<th class="colLast" scope="row">
<div class="block">Server control attributes.</div>
</th>
</tr>
<tr id="i577" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">An HLS <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</th>
</tr>
<tr id="i578" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source.hls">HlsMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.html" title="class in com.google.android.exoplayer2.source.hls"><code>HlsMediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i579" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html" title="annotation in com.google.android.exoplayer2.source.hls">HlsMediaSource.MetadataType</a></td>
<th class="colLast" scope="row">
<div class="block">The types of metadata that can be extracted from HLS streams.</div>
</th>
</tr>
<tr id="i580" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylist</a></td>
<th class="colLast" scope="row">
<div class="block">Represents an HLS playlist.</div>
</th>
</tr>
<tr id="i581" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistParser</a></td>
<th class="colLast" scope="row">
<div class="block">HLS playlists parsing logic.</div>
</th>
</tr>
<tr id="i582" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistParser.DeltaUpdateException</a></td>
<th class="colLast" scope="row">
<div class="block">Exception thrown when merging a delta update fails.</div>
</th>
</tr>
<tr id="i583" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html" title="interface in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistParserFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html" title="class in com.google.android.exoplayer2.source.hls.playlist"><code>HlsPlaylist</code></a> parsers.</div>
</th>
</tr>
<tr id="i584" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html" title="interface in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker</a></td>
<th class="colLast" scope="row">
<div class="block">Tracks playlists associated to an HLS stream and provides snapshots.</div>
</th>
</tr>
<tr id="i585" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.Factory.html" title="interface in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html" title="interface in com.google.android.exoplayer2.source.hls.playlist"><code>HlsPlaylistTracker</code></a> instances.</div>
</th>
</tr>
<tr id="i586" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistEventListener.html" title="interface in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker.PlaylistEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Called on playlist loading events.</div>
</th>
</tr>
<tr id="i587" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistResetException.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker.PlaylistResetException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the media sequence of a new snapshot indicates the server has reset.</div>
</th>
</tr>
<tr id="i588" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistStuckException.html" title="class in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker.PlaylistStuckException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a playlist is considered to be stuck due to a server side error.</div>
</th>
</tr>
<tr id="i589" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener.html" title="interface in com.google.android.exoplayer2.source.hls.playlist">HlsPlaylistTracker.PrimaryPlaylistListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for primary playlist changes.</div>
</th>
</tr>
<tr id="i590" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.html" title="class in com.google.android.exoplayer2.source.hls">HlsTrackMetadataEntry</a></td>
<th class="colLast" scope="row">
<div class="block">Holds metadata associated to an HLS media track.</div>
</th>
</tr>
<tr id="i591" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.VariantInfo.html" title="class in com.google.android.exoplayer2.source.hls">HlsTrackMetadataEntry.VariantInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds attributes defined in an EXT-X-STREAM-INF tag.</div>
</th>
</tr>
<tr id="i592" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html" title="class in com.google.android.exoplayer2.text.span">HorizontalTextInVerticalContextSpan</a></td>
<th class="colLast" scope="row">
<div class="block">A styling span for horizontal text in a vertical context.</div>
</th>
</tr>
<tr id="i593" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/HostActivity.html" title="class in com.google.android.exoplayer2.testutil">HostActivity</a></td>
<th class="colLast" scope="row">
<div class="block">A host activity for performing playback tests.</div>
</th>
</tr>
<tr id="i594" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html" title="interface in com.google.android.exoplayer2.testutil">HostActivity.HostedTest</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for tests that run inside of a <a href="com/google/android/exoplayer2/testutil/HostActivity.html" title="class in com.google.android.exoplayer2.testutil"><code>HostActivity</code></a>.</div>
</th>
</tr>
<tr id="i595" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream">HttpDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">An HTTP <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a>.</div>
</th>
</tr>
<tr id="i596" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.BaseFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Base implementation of <a href="com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource.Factory</code></a> that sets default request properties.</div>
</th>
</tr>
<tr id="i597" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.CleartextNotPermittedException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when cleartext HTTP traffic is not permitted.</div>
</th>
</tr>
<tr id="i598" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream">HttpDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i599" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.HttpDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error is encountered when trying to read from a <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a>.</div>
</th>
</tr>
<tr id="i600" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.Type.html" title="annotation in com.google.android.exoplayer2.upstream">HttpDataSource.HttpDataSourceException.Type</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i601" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.InvalidContentTypeException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.InvalidContentTypeException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the content type is invalid.</div>
</th>
</tr>
<tr id="i602" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.InvalidResponseCodeException.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.InvalidResponseCodeException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an attempt to open a connection results in a response code not in the 2xx range.</div>
</th>
</tr>
<tr id="i603" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpDataSource.RequestProperties.html" title="class in com.google.android.exoplayer2.upstream">HttpDataSource.RequestProperties</a></td>
<th class="colLast" scope="row">
<div class="block">Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
 in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
 unintended state.</div>
</th>
</tr>
<tr id="i604" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/HttpDataSourceTestEnv.html" title="class in com.google.android.exoplayer2.testutil">HttpDataSourceTestEnv</a></td>
<th class="colLast" scope="row">
<div class="block">A JUnit <code>Rule</code> that creates test resources for <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a> contract tests.</div>
</th>
</tr>
<tr id="i605" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/HttpMediaDrmCallback.html" title="class in com.google.android.exoplayer2.drm">HttpMediaDrmCallback</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/drm/MediaDrmCallback.html" title="interface in com.google.android.exoplayer2.drm"><code>MediaDrmCallback</code></a> that makes requests using <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i606" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/HttpUtil.html" title="class in com.google.android.exoplayer2.upstream">HttpUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for HTTP.</div>
</th>
</tr>
<tr id="i607" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/icy/IcyDecoder.html" title="class in com.google.android.exoplayer2.metadata.icy">IcyDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes ICY stream information.</div>
</th>
</tr>
<tr id="i608" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/icy/IcyHeaders.html" title="class in com.google.android.exoplayer2.metadata.icy">IcyHeaders</a></td>
<th class="colLast" scope="row">
<div class="block">ICY headers.</div>
</th>
</tr>
<tr id="i609" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/icy/IcyInfo.html" title="class in com.google.android.exoplayer2.metadata.icy">IcyInfo</a></td>
<th class="colLast" scope="row">
<div class="block">ICY in-stream information.</div>
</th>
</tr>
<tr id="i610" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/Id3Decoder.html" title="class in com.google.android.exoplayer2.metadata.id3">Id3Decoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes ID3 tags.</div>
</th>
</tr>
<tr id="i611" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/Id3Decoder.FramePredicate.html" title="interface in com.google.android.exoplayer2.metadata.id3">Id3Decoder.FramePredicate</a></td>
<th class="colLast" scope="row">
<div class="block">A predicate for determining whether individual frames should be decoded.</div>
</th>
</tr>
<tr id="i612" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/Id3Frame.html" title="class in com.google.android.exoplayer2.metadata.id3">Id3Frame</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for ID3 frames.</div>
</th>
</tr>
<tr id="i613" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/Id3Peeker.html" title="class in com.google.android.exoplayer2.extractor">Id3Peeker</a></td>
<th class="colLast" scope="row">
<div class="block">Peeks data from the beginning of an <a href="com/google/android/exoplayer2/extractor/ExtractorInput.html" title="interface in com.google.android.exoplayer2.extractor"><code>ExtractorInput</code></a> to determine if there is any ID3 tag.</div>
</th>
</tr>
<tr id="i614" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/Id3Reader.html" title="class in com.google.android.exoplayer2.extractor.ts">Id3Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses ID3 data and extracts individual text information frames.</div>
</th>
</tr>
<tr id="i615" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/IllegalSeekPositionException.html" title="class in com.google.android.exoplayer2">IllegalSeekPositionException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an attempt is made to seek to a position that does not exist in the player's <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>.</div>
</th>
</tr>
<tr id="i616" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html" title="class in com.google.android.exoplayer2.ext.ima">ImaAdsLoader</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/ads/AdsLoader.html" title="interface in com.google.android.exoplayer2.source.ads"><code>AdsLoader</code></a> using the IMA SDK.</div>
</th>
</tr>
<tr id="i617" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html" title="class in com.google.android.exoplayer2.ext.ima">ImaAdsLoader.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html" title="class in com.google.android.exoplayer2.ext.ima"><code>ImaAdsLoader</code></a>.</div>
</th>
</tr>
<tr id="i618" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/IndexSeekMap.html" title="class in com.google.android.exoplayer2.extractor">IndexSeekMap</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor"><code>SeekMap</code></a> implementation based on a mapping between times and positions in the input
 stream.</div>
</th>
</tr>
<tr id="i619" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/InitializationChunk.html" title="class in com.google.android.exoplayer2.source.chunk">InitializationChunk</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>Chunk</code></a> that uses an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a> to decode initialization data for single track.</div>
</th>
</tr>
<tr id="i620" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser">InputReaderAdapterV30</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="https://developer.android.com/reference/android/media/MediaParser.SeekableInputReader.html" title="class or interface in android.media" class="externalLink"><code>MediaParser.SeekableInputReader</code></a> implementation wrapping a <a href="com/google/android/exoplayer2/upstream/DataReader.html" title="interface in com.google.android.exoplayer2.upstream" target="_top"><code>DataReader</code></a>.</div>
</th>
</tr>
<tr id="i621" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/IntArrayQueue.html" title="class in com.google.android.exoplayer2.util">IntArrayQueue</a></td>
<th class="colLast" scope="row">
<div class="block">Array-based unbounded queue for int primitives with amortized O(1) add and remove.</div>
</th>
</tr>
<tr id="i622" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/InternalFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">InternalFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Internal ID3 frame that is intended for use by the player.</div>
</th>
</tr>
<tr id="i623" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html" title="class in com.google.android.exoplayer2.extractor.jpeg">JpegExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts JPEG image using the Exif format.</div>
</th>
</tr>
<tr id="i624" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/KeysExpiredException.html" title="class in com.google.android.exoplayer2.drm">KeysExpiredException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the drm keys loaded into an open session expire.</div>
</th>
</tr>
<tr id="i625" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/LanguageFeatureSpan.html" title="interface in com.google.android.exoplayer2.text.span">LanguageFeatureSpan</a></td>
<th class="colLast" scope="row">
<div class="block">Marker interface for span classes that carry language features rather than style information.</div>
</th>
</tr>
<tr id="i626" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/LatmReader.html" title="class in com.google.android.exoplayer2.extractor.ts">LatmReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses and extracts samples from an AAC/LATM elementary stream.</div>
</th>
</tr>
<tr id="i627" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html" title="class in com.google.android.exoplayer2.ext.leanback">LeanbackPlayerAdapter</a></td>
<th class="colLast" scope="row">
<div class="block">Leanback <code>PlayerAdapter</code> implementation for <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a>.</div>
</th>
</tr>
<tr id="i628" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html" title="class in com.google.android.exoplayer2.upstream.cache">LeastRecentlyUsedCacheEvictor</a></td>
<th class="colLast" scope="row">
<div class="block">Evicts least recently used cache files first.</div>
</th>
</tr>
<tr id="i629" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.flac">LibflacAudioRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders audio using the native Flac decoder.</div>
</th>
</tr>
<tr id="i630" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html" title="class in com.google.android.exoplayer2.ext.av1">Libgav1VideoRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders video using libgav1 decoder.</div>
</th>
</tr>
<tr id="i631" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html" title="class in com.google.android.exoplayer2.ext.opus">LibopusAudioRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders audio using the native Opus decoder.</div>
</th>
</tr>
<tr id="i632" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/LibraryLoader.html" title="class in com.google.android.exoplayer2.util">LibraryLoader</a></td>
<th class="colLast" scope="row">
<div class="block">Configurable loader for native libraries.</div>
</th>
</tr>
<tr id="i633" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.html" title="class in com.google.android.exoplayer2.ext.vp9">LibvpxVideoRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders video using the native VP9 decoder.</div>
</th>
</tr>
<tr id="i634" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ListenerSet.html" title="class in com.google.android.exoplayer2.util">ListenerSet</a>&lt;<a href="com/google/android/exoplayer2/util/ListenerSet.html" title="type parameter in ListenerSet">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A set of listeners.</div>
</th>
</tr>
<tr id="i635" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ListenerSet.Event.html" title="interface in com.google.android.exoplayer2.util">ListenerSet.Event</a>&lt;<a href="com/google/android/exoplayer2/util/ListenerSet.Event.html" title="type parameter in ListenerSet.Event">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">An event sent to a listener.</div>
</th>
</tr>
<tr id="i636" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html" title="interface in com.google.android.exoplayer2.util">ListenerSet.IterationFinishedEvent</a>&lt;<a href="com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html" title="type parameter in ListenerSet.IterationFinishedEvent">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">An event sent to a listener when all other events sent during one <a href="https://developer.android.com/reference/android/os/Looper.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Looper</code></a> message queue
 iteration were handled by the listener.</div>
</th>
</tr>
<tr id="i637" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/LivePlaybackSpeedControl.html" title="interface in com.google.android.exoplayer2">LivePlaybackSpeedControl</a></td>
<th class="colLast" scope="row">
<div class="block">Controls the playback speed while playing live content in order to maintain a steady target live
 offset.</div>
</th>
</tr>
<tr id="i638" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/LoadControl.html" title="interface in com.google.android.exoplayer2">LoadControl</a></td>
<th class="colLast" scope="row">
<div class="block">Controls buffering of media.</div>
</th>
</tr>
<tr id="i639" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.html" title="class in com.google.android.exoplayer2.upstream">Loader</a></td>
<th class="colLast" scope="row">
<div class="block">Manages the background loading of <a href="com/google/android/exoplayer2/upstream/Loader.Loadable.html" title="interface in com.google.android.exoplayer2.upstream"><code>Loader.Loadable</code></a>s.</div>
</th>
</tr>
<tr id="i640" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.Callback.html" title="interface in com.google.android.exoplayer2.upstream">Loader.Callback</a>&lt;<a href="com/google/android/exoplayer2/upstream/Loader.Callback.html" title="type parameter in Loader.Callback">T</a> extends <a href="com/google/android/exoplayer2/upstream/Loader.Loadable.html" title="interface in com.google.android.exoplayer2.upstream">Loader.Loadable</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified of <a href="com/google/android/exoplayer2/upstream/Loader.html" title="class in com.google.android.exoplayer2.upstream"><code>Loader</code></a> events.</div>
</th>
</tr>
<tr id="i641" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.Loadable.html" title="interface in com.google.android.exoplayer2.upstream">Loader.Loadable</a></td>
<th class="colLast" scope="row">
<div class="block">An object that can be loaded using a <a href="com/google/android/exoplayer2/upstream/Loader.html" title="class in com.google.android.exoplayer2.upstream"><code>Loader</code></a>.</div>
</th>
</tr>
<tr id="i642" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.LoadErrorAction.html" title="class in com.google.android.exoplayer2.upstream">Loader.LoadErrorAction</a></td>
<th class="colLast" scope="row">
<div class="block">Action that can be taken in response to <a href="com/google/android/exoplayer2/upstream/Loader.Callback.html#onLoadError(T,long,long,java.io.IOException,int)"><code>Loader.Callback.onLoadError(Loadable, long, long,
 IOException, int)</code></a>.</div>
</th>
</tr>
<tr id="i643" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.ReleaseCallback.html" title="interface in com.google.android.exoplayer2.upstream">Loader.ReleaseCallback</a></td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified when a <a href="com/google/android/exoplayer2/upstream/Loader.html" title="class in com.google.android.exoplayer2.upstream"><code>Loader</code></a> has finished being released.</div>
</th>
</tr>
<tr id="i644" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/Loader.UnexpectedLoaderException.html" title="class in com.google.android.exoplayer2.upstream">Loader.UnexpectedLoaderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an unexpected exception or error is encountered during loading.</div>
</th>
</tr>
<tr id="i645" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/LoaderErrorThrower.html" title="interface in com.google.android.exoplayer2.upstream">LoaderErrorThrower</a></td>
<th class="colLast" scope="row">
<div class="block">Conditionally throws errors affecting a <a href="com/google/android/exoplayer2/upstream/Loader.html" title="class in com.google.android.exoplayer2.upstream"><code>Loader</code></a>.</div>
</th>
</tr>
<tr id="i646" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/LoaderErrorThrower.Dummy.html" title="class in com.google.android.exoplayer2.upstream">LoaderErrorThrower.Dummy</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/LoaderErrorThrower.html" title="interface in com.google.android.exoplayer2.upstream"><code>LoaderErrorThrower</code></a> that never throws.</div>
</th>
</tr>
<tr id="i647" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html" title="interface in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy</a></td>
<th class="colLast" scope="row">
<div class="block">Defines how errors encountered by loaders are handled.</div>
</th>
</tr>
<tr id="i648" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.LoadErrorInfo.html" title="class in com.google.android.exoplayer2.upstream">LoadErrorHandlingPolicy.LoadErrorInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a load task error.</div>
</th>
</tr>
<tr id="i649" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/LoadEventInfo.html" title="class in com.google.android.exoplayer2.source">LoadEventInfo</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> load event information.</div>
</th>
</tr>
<tr id="i650" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html" title="class in com.google.android.exoplayer2.drm">LocalMediaDrmCallback</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/drm/MediaDrmCallback.html" title="interface in com.google.android.exoplayer2.drm"><code>MediaDrmCallback</code></a> that provides a fixed response to key requests.</div>
</th>
</tr>
<tr id="i651" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/Log.html" title="class in com.google.android.exoplayer2.util">Log</a></td>
<th class="colLast" scope="row">
<div class="block">Wrapper around <a href="https://developer.android.com/reference/android/util/Log.html" title="class or interface in android.util" class="externalLink" target="_top"><code>Log</code></a> which allows to set the log level.</div>
</th>
</tr>
<tr id="i652" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/LongArray.html" title="class in com.google.android.exoplayer2.util">LongArray</a></td>
<th class="colLast" scope="row">
<div class="block">An append-only, auto-growing <code>long[]</code>.</div>
</th>
</tr>
<tr id="i653" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/LoopingMediaSource.html" title="class in com.google.android.exoplayer2.source">LoopingMediaSource</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">To loop a <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> indefinitely, use <a href="com/google/android/exoplayer2/Player.html#setRepeatMode(int)"><code>Player.setRepeatMode(int)</code></a>
     instead of this class.</div>
</th>
</tr>
<tr id="i654" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">MappingTrackSelector</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for <a href="com/google/android/exoplayer2/trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a>s that first establish a mapping between <a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a>s
 and <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a>s, and then from that mapping create a <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a> for each
 renderer.</div>
</th>
</tr>
<tr id="i655" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html" title="class in com.google.android.exoplayer2.trackselection">MappingTrackSelector.MappedTrackInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Provides mapped track information for each renderer.</div>
</th>
</tr>
<tr id="i656" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MaskingMediaPeriod.html" title="class in com.google.android.exoplayer2.source">MaskingMediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">Media period that defers calling <a href="com/google/android/exoplayer2/source/MediaSource.html#createPeriod(com.google.android.exoplayer2.source.MediaSource.MediaPeriodId,com.google.android.exoplayer2.upstream.Allocator,long)"><code>MediaSource.createPeriod(MediaPeriodId, Allocator, long)</code></a>
 on a given source until <a href="com/google/android/exoplayer2/source/MaskingMediaPeriod.html#createPeriod(com.google.android.exoplayer2.source.MediaSource.MediaPeriodId)"><code>MaskingMediaPeriod.createPeriod(MediaPeriodId)</code></a> has been called.</div>
</th>
</tr>
<tr id="i657" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html" title="interface in com.google.android.exoplayer2.source">MaskingMediaPeriod.PrepareListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for preparation events.</div>
</th>
</tr>
<tr id="i658" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MaskingMediaSource.html" title="class in com.google.android.exoplayer2.source">MaskingMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> that masks the <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> with a placeholder until the actual media
 structure is known.</div>
</th>
</tr>
<tr id="i659" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html" title="class in com.google.android.exoplayer2.source">MaskingMediaSource.PlaceholderTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">A timeline with one dynamic window with a period of indeterminate duration.</div>
</th>
</tr>
<tr id="i660" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html" title="class in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the Matroska and WebM container formats.</div>
</th>
</tr>
<tr id="i661" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mkv">MatroskaExtractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i662" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html" title="class in com.google.android.exoplayer2.metadata.mp4">MdtaMetadataEntry</a></td>
<th class="colLast" scope="row">
<div class="block">Stores extensible metadata with handler type 'mdta'.</div>
</th>
</tr>
<tr id="i663" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/MediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">MediaChunk</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract base class for <a href="com/google/android/exoplayer2/source/chunk/Chunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>Chunk</code></a>s that contain media samples.</div>
</th>
</tr>
<tr id="i664" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html" title="interface in com.google.android.exoplayer2.source.chunk">MediaChunkIterator</a></td>
<th class="colLast" scope="row">
<div class="block">Iterator for media chunk sequences.</div>
</th>
</tr>
<tr id="i665" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/MediaClock.html" title="interface in com.google.android.exoplayer2.util">MediaClock</a></td>
<th class="colLast" scope="row">
<div class="block">Tracks the progression of media time.</div>
</th>
</tr>
<tr id="i666" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecAdapter</a></td>
<th class="colLast" scope="row">
<div class="block">Abstracts <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> operations.</div>
</th>
</tr>
<tr id="i667" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Configuration.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecAdapter.Configuration</a></td>
<th class="colLast" scope="row">
<div class="block">Configuration parameters for a <a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecAdapter</code></a>.</div>
</th>
</tr>
<tr id="i668" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Factory.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecAdapter.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecAdapter</code></a> instances.</div>
</th>
</tr>
<tr id="i669" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.OnFrameRenderedListener.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecAdapter.OnFrameRenderedListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be called when an output frame has rendered on the output surface.</div>
</th>
</tr>
<tr id="i670" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.html" title="class in com.google.android.exoplayer2.audio">MediaCodecAudioRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders audio using <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink"><code>MediaCodec</code></a> and an <a href="com/google/android/exoplayer2/audio/AudioSink.html" title="interface in com.google.android.exoplayer2.audio" target="_top"><code>AudioSink</code></a>.</div>
</th>
</tr>
<tr id="i671" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecDecoderException.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs in a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> decoder.</div>
</th>
</tr>
<tr id="i672" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Information about a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> for a given mime type.</div>
</th>
</tr>
<tr id="i673" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract renderer that uses <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> to decode samples for rendering.</div>
</th>
</tr>
<tr id="i674" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.DecoderInitializationException.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecRenderer.DecoderInitializationException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs instantiating a decoder.</div>
</th>
</tr>
<tr id="i675" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecSelector.html" title="interface in com.google.android.exoplayer2.mediacodec">MediaCodecSelector</a></td>
<th class="colLast" scope="row">
<div class="block">Selector of <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> instances.</div>
</th>
</tr>
<tr id="i676" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecUtil.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecUtil</a></td>
<th class="colLast" scope="row">
<div class="block">A utility class for querying the available codecs.</div>
</th>
</tr>
<tr id="i677" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/MediaCodecUtil.DecoderQueryException.html" title="class in com.google.android.exoplayer2.mediacodec">MediaCodecUtil.DecoderQueryException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error occurs querying the device for its underlying media capabilities.</div>
</th>
</tr>
<tr id="i678" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/MediaCodecVideoDecoderException.html" title="class in com.google.android.exoplayer2.video">MediaCodecVideoDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a failure occurs in a <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> video decoder.</div>
</th>
</tr>
<tr id="i679" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/MediaCodecVideoRenderer.html" title="class in com.google.android.exoplayer2.video">MediaCodecVideoRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes and renders video using <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a>.</div>
</th>
</tr>
<tr id="i680" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/MediaCodecVideoRenderer.CodecMaxValues.html" title="class in com.google.android.exoplayer2.video">MediaCodecVideoRenderer.CodecMaxValues</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i681" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/MediaDrmCallback.html" title="interface in com.google.android.exoplayer2.drm">MediaDrmCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Performs <a href="com/google/android/exoplayer2/drm/ExoMediaDrm.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaDrm</code></a> key and provisioning requests.</div>
</th>
</tr>
<tr id="i682" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/MediaDrmCallbackException.html" title="class in com.google.android.exoplayer2.drm">MediaDrmCallbackException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error occurs while executing a DRM <a href="com/google/android/exoplayer2/drm/MediaDrmCallback.html#executeKeyRequest(java.util.UUID,com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest)"><code>key</code></a>
 or <a href="com/google/android/exoplayer2/drm/MediaDrmCallback.html#executeProvisionRequest(java.util.UUID,com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest)"><code>provisioning</code></a> request.</div>
</th>
</tr>
<tr id="i683" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/MediaFormatUtil.html" title="class in com.google.android.exoplayer2.util">MediaFormatUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Helper class containing utility methods for managing <a href="https://developer.android.com/reference/android/media/MediaFormat.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaFormat</code></a> instances.</div>
</th>
</tr>
<tr id="i684" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2">MediaItem</a></td>
<th class="colLast" scope="row">
<div class="block">Representation of a media item.</div>
</th>
</tr>
<tr id="i685" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.AdsConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.AdsConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">Configuration for playing back linear ads with a media item.</div>
</th>
</tr>
<tr id="i686" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.Builder.html" title="class in com.google.android.exoplayer2">MediaItem.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> instances.</div>
</th>
</tr>
<tr id="i687" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.ClippingProperties.html" title="class in com.google.android.exoplayer2">MediaItem.ClippingProperties</a></td>
<th class="colLast" scope="row">
<div class="block">Optionally clips the media item to a custom start and end position.</div>
</th>
</tr>
<tr id="i688" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.DrmConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.DrmConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">DRM configuration for a media item.</div>
</th>
</tr>
<tr id="i689" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.LiveConfiguration.html" title="class in com.google.android.exoplayer2">MediaItem.LiveConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">Live playback configuration.</div>
</th>
</tr>
<tr id="i690" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.PlaybackProperties.html" title="class in com.google.android.exoplayer2">MediaItem.PlaybackProperties</a></td>
<th class="colLast" scope="row">
<div class="block">Properties for local playback.</div>
</th>
</tr>
<tr id="i691" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaItem.Subtitle.html" title="class in com.google.android.exoplayer2">MediaItem.Subtitle</a></td>
<th class="colLast" scope="row">
<div class="block">Properties for a text track.</div>
</th>
</tr>
<tr id="i692" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cast/MediaItemConverter.html" title="interface in com.google.android.exoplayer2.ext.cast">MediaItemConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converts between <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a> and the Cast SDK's <code>MediaQueueItem</code>.</div>
</th>
</tr>
<tr id="i693" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/MediaItemConverter.html" title="interface in com.google.android.exoplayer2.ext.media2">MediaItemConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converts between <code>Media2 MediaItem</code> and <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>ExoPlayer MediaItem</code></a>.</div>
</th>
</tr>
<tr id="i694" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaLoadData.html" title="class in com.google.android.exoplayer2.source">MediaLoadData</a></td>
<th class="colLast" scope="row">
<div class="block">Descriptor for data being loaded or selected by a <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</th>
</tr>
<tr id="i695" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaMetadata.html" title="class in com.google.android.exoplayer2">MediaMetadata</a></td>
<th class="colLast" scope="row">
<div class="block">Metadata of a <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>, playlist, or a combination of multiple sources of <a href="com/google/android/exoplayer2/metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata"><code>Metadata</code></a>.</div>
</th>
</tr>
<tr id="i696" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaMetadata.Builder.html" title="class in com.google.android.exoplayer2">MediaMetadata.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/MediaMetadata.html" title="class in com.google.android.exoplayer2"><code>MediaMetadata</code></a> instances.</div>
</th>
</tr>
<tr id="i697" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MediaMetadata.FolderType.html" title="annotation in com.google.android.exoplayer2">MediaMetadata.FolderType</a></td>
<th class="colLast" scope="row">
<div class="block">The folder type of the media item.</div>
</th>
</tr>
<tr id="i698" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html" title="class in com.google.android.exoplayer2.source.chunk">MediaParserChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/chunk/ChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkExtractor</code></a> implemented on top of the platform's <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a>.</div>
</th>
</tr>
<tr id="i699" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaParserExtractorAdapter.html" title="class in com.google.android.exoplayer2.source">MediaParserExtractorAdapter</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/ProgressiveMediaExtractor.html" title="interface in com.google.android.exoplayer2.source"><code>ProgressiveMediaExtractor</code></a> implemented on top of the platform's <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a>.</div>
</th>
</tr>
<tr id="i700" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html" title="class in com.google.android.exoplayer2.source.hls">MediaParserHlsMediaChunkExtractor</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html" title="interface in com.google.android.exoplayer2.source.hls"><code>HlsMediaChunkExtractor</code></a> implemented on top of the platform's <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a>.</div>
</th>
</tr>
<tr id="i701" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/mediaparser/MediaParserUtil.html" title="class in com.google.android.exoplayer2.source.mediaparser">MediaParserUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Miscellaneous constants and utility methods related to the <a href="https://developer.android.com/reference/android/media/MediaParser.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaParser</code></a> integration.</div>
</th>
</tr>
<tr id="i702" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source">MediaPeriod</a></td>
<th class="colLast" scope="row">
<div class="block">Loads media corresponding to a <a href="com/google/android/exoplayer2/Timeline.Period.html" title="class in com.google.android.exoplayer2"><code>Timeline.Period</code></a>, and allows that media to be read.</div>
</th>
</tr>
<tr id="i703" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaPeriod.Callback.html" title="interface in com.google.android.exoplayer2.source">MediaPeriod.Callback</a></td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified of <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a> events.</div>
</th>
</tr>
<tr id="i704" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/MediaPeriodAsserts.html" title="class in com.google.android.exoplayer2.testutil">MediaPeriodAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Assertion methods for <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a>.</div>
</th>
</tr>
<tr id="i705" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html" title="interface in com.google.android.exoplayer2.testutil">MediaPeriodAsserts.FilterableManifestMediaPeriodFactory</a>&lt;<a href="com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html" title="type parameter in MediaPeriodAsserts.FilterableManifestMediaPeriodFactory">T</a> extends <a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="interface in com.google.android.exoplayer2.offline">FilterableManifest</a>&lt;<a href="com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html" title="type parameter in MediaPeriodAsserts.FilterableManifestMediaPeriodFactory">T</a>&gt;&gt;</td>
<th class="colLast" scope="row">
<div class="block">Interface to create media periods for testing based on a <a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="interface in com.google.android.exoplayer2.offline"><code>FilterableManifest</code></a>.</div>
</th>
</tr>
<tr id="i706" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaPeriodId.html" title="class in com.google.android.exoplayer2.source">MediaPeriodId</a></td>
<th class="colLast" scope="row">
<div class="block">Identifies a specific playback of a <a href="com/google/android/exoplayer2/Timeline.Period.html" title="class in com.google.android.exoplayer2"><code>Timeline.Period</code></a>.</div>
</th>
</tr>
<tr id="i707" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html" title="class in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector</a></td>
<th class="colLast" scope="row">
<div class="block">Connects a <code>MediaSessionCompat</code> to a <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a>.</div>
</th>
</tr>
<tr id="i708" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CaptionCallback.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.CaptionCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Handles requests for enabling or disabling captions.</div>
</th>
</tr>
<tr id="i709" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CommandReceiver.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.CommandReceiver</a></td>
<th class="colLast" scope="row">
<div class="block">Receiver of media commands sent by a media controller.</div>
</th>
</tr>
<tr id="i710" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CustomActionProvider.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.CustomActionProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a <code>PlaybackStateCompat.CustomAction</code> to be published and handles the action when
 sent by a media controller.</div>
</th>
</tr>
<tr id="i711" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.DefaultMediaMetadataProvider.html" title="class in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.DefaultMediaMetadataProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a default <code>MediaMetadataCompat</code> with properties and extras taken from the <code>MediaDescriptionCompat</code> of the <code>MediaSessionCompat.QueueItem</code> of the active queue item.</div>
</th>
</tr>
<tr id="i712" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaButtonEventHandler.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.MediaButtonEventHandler</a></td>
<th class="colLast" scope="row">
<div class="block">Handles a media button event.</div>
</th>
</tr>
<tr id="i713" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaMetadataProvider.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.MediaMetadataProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a <code>MediaMetadataCompat</code> for a given player state.</div>
</th>
</tr>
<tr id="i714" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackActions.html" title="annotation in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.PlaybackActions</a></td>
<th class="colLast" scope="row">
<div class="block">Playback actions supported by the connector.</div>
</th>
</tr>
<tr id="i715" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackPreparer.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.PlaybackPreparer</a></td>
<th class="colLast" scope="row">
<div class="block">Interface to which playback preparation and play actions are delegated.</div>
</th>
</tr>
<tr id="i716" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.QueueEditor</a></td>
<th class="colLast" scope="row">
<div class="block">Handles media session queue edits.</div>
</th>
</tr>
<tr id="i717" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.QueueNavigator</a></td>
<th class="colLast" scope="row">
<div class="block">Handles queue navigation actions, and updates the media session queue by calling <code>
 MediaSessionCompat.setQueue()</code>.</div>
</th>
</tr>
<tr id="i718" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html" title="interface in com.google.android.exoplayer2.ext.mediasession">MediaSessionConnector.RatingCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback receiving a user rating for the active media item.</div>
</th>
</tr>
<tr id="i719" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source">MediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Defines and provides media to be played by an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i720" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html" title="class in com.google.android.exoplayer2.source">MediaSource.MediaPeriodId</a></td>
<th class="colLast" scope="row">
<div class="block">Identifier for a <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source"><code>MediaPeriod</code></a>.</div>
</th>
</tr>
<tr id="i721" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html" title="interface in com.google.android.exoplayer2.source">MediaSource.MediaSourceCaller</a></td>
<th class="colLast" scope="row">
<div class="block">A caller of media sources, which will be notified of source events.</div>
</th>
</tr>
<tr id="i722" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSourceEventListener.html" title="interface in com.google.android.exoplayer2.source">MediaSourceEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for callbacks to be notified of <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> events.</div>
</th>
</tr>
<tr id="i723" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSourceEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.source">MediaSourceEventListener.EventDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Dispatches events to <a href="com/google/android/exoplayer2/source/MediaSourceEventListener.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSourceEventListeners</code></a>.</div>
</th>
</tr>
<tr id="i724" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MediaSourceFactory.html" title="interface in com.google.android.exoplayer2.source">MediaSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for creating <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSources</code></a> from <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</th>
</tr>
<tr id="i725" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/MediaSourceTestRunner.html" title="class in com.google.android.exoplayer2.testutil">MediaSourceTestRunner</a></td>
<th class="colLast" scope="row">
<div class="block">A runner for <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a> tests.</div>
</th>
</tr>
<tr id="i726" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MergingMediaSource.html" title="class in com.google.android.exoplayer2.source">MergingMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Merges multiple <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i727" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.html" title="class in com.google.android.exoplayer2.source">MergingMediaSource.IllegalMergeException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a <a href="com/google/android/exoplayer2/source/MergingMediaSource.html" title="class in com.google.android.exoplayer2.source"><code>MergingMediaSource</code></a> cannot merge its sources.</div>
</th>
</tr>
<tr id="i728" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.Reason.html" title="annotation in com.google.android.exoplayer2.source">MergingMediaSource.IllegalMergeException.Reason</a></td>
<th class="colLast" scope="row">
<div class="block">The reason the merge failed.</div>
</th>
</tr>
<tr id="i729" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/Metadata.html" title="class in com.google.android.exoplayer2.metadata">Metadata</a></td>
<th class="colLast" scope="row">
<div class="block">A collection of metadata entries.</div>
</th>
</tr>
<tr id="i730" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/Metadata.Entry.html" title="interface in com.google.android.exoplayer2.metadata">Metadata.Entry</a></td>
<th class="colLast" scope="row">
<div class="block">A metadata entry.</div>
</th>
</tr>
<tr id="i731" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/MetadataDecoder.html" title="interface in com.google.android.exoplayer2.metadata">MetadataDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes metadata from binary data.</div>
</th>
</tr>
<tr id="i732" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/MetadataDecoderFactory.html" title="interface in com.google.android.exoplayer2.metadata">MetadataDecoderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/metadata/MetadataDecoder.html" title="interface in com.google.android.exoplayer2.metadata"><code>MetadataDecoder</code></a> instances.</div>
</th>
</tr>
<tr id="i733" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/MetadataInputBuffer.html" title="class in com.google.android.exoplayer2.metadata">MetadataInputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderInputBuffer</code></a> for a <a href="com/google/android/exoplayer2/metadata/MetadataDecoder.html" title="interface in com.google.android.exoplayer2.metadata"><code>MetadataDecoder</code></a>.</div>
</th>
</tr>
<tr id="i734" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/MetadataOutput.html" title="interface in com.google.android.exoplayer2.metadata">MetadataOutput</a></td>
<th class="colLast" scope="row">
<div class="block">Receives metadata output.</div>
</th>
</tr>
<tr id="i735" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/MetadataRenderer.html" title="class in com.google.android.exoplayer2.metadata">MetadataRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A renderer for metadata.</div>
</th>
</tr>
<tr id="i736" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/MetadataRetriever.html" title="class in com.google.android.exoplayer2">MetadataRetriever</a></td>
<th class="colLast" scope="row">
<div class="block">Retrieves the static metadata of <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItems</code></a>.</div>
</th>
</tr>
<tr id="i737" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/MimeTypes.html" title="class in com.google.android.exoplayer2.util">MimeTypes</a></td>
<th class="colLast" scope="row">
<div class="block">Defines common MIME types and helper methods.</div>
</th>
</tr>
<tr id="i738" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/MlltFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">MlltFrame</a></td>
<th class="colLast" scope="row">
<div class="block">MPEG location lookup table frame.</div>
</th>
</tr>
<tr id="i739" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/mp4/MotionPhotoMetadata.html" title="class in com.google.android.exoplayer2.metadata.mp4">MotionPhotoMetadata</a></td>
<th class="colLast" scope="row">
<div class="block">Metadata of a motion photo file.</div>
</th>
</tr>
<tr id="i740" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp3">Mp3Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the MP3 container format.</div>
</th>
</tr>
<tr id="i741" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mp3">Mp3Extractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i742" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html" title="class in com.google.android.exoplayer2.extractor.mp4">Mp4Extractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the MP4 container format.</div>
</th>
</tr>
<tr id="i743" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.mp4">Mp4Extractor.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags controlling the behavior of the extractor.</div>
</th>
</tr>
<tr id="i744" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.html" title="class in com.google.android.exoplayer2.text.webvtt">Mp4WebvttDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for Webvtt embedded in a Mp4 container file.</div>
</th>
</tr>
<tr id="i745" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html" title="class in com.google.android.exoplayer2.extractor.ts">MpegAudioReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses a continuous MPEG Audio byte stream and extracts individual frames.</div>
</th>
</tr>
<tr id="i746" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling MPEG audio streams.</div>
</th>
</tr>
<tr id="i747" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html" title="class in com.google.android.exoplayer2.audio">MpegAudioUtil.Header</a></td>
<th class="colLast" scope="row">
<div class="block">Stores the metadata for an MPEG audio frame.</div>
</th>
</tr>
<tr id="i748" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NalUnitUtil.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling H.264/AVC and H.265/HEVC NAL units.</div>
</th>
</tr>
<tr id="i749" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.PpsData</a></td>
<th class="colLast" scope="row">
<div class="block">Holds data parsed from a picture parameter set NAL unit.</div>
</th>
</tr>
<tr id="i750" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NalUnitUtil.SpsData.html" title="class in com.google.android.exoplayer2.util">NalUnitUtil.SpsData</a></td>
<th class="colLast" scope="row">
<div class="block">Holds data parsed from a sequence parameter set NAL unit.</div>
</th>
</tr>
<tr id="i751" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NetworkTypeObserver.html" title="class in com.google.android.exoplayer2.util">NetworkTypeObserver</a></td>
<th class="colLast" scope="row">
<div class="block">Observer for network type changes.</div>
</th>
</tr>
<tr id="i752" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NetworkTypeObserver.Listener.html" title="interface in com.google.android.exoplayer2.util">NetworkTypeObserver.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for network type changes.</div>
</th>
</tr>
<tr id="i753" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NonNullApi.html" title="annotation in com.google.android.exoplayer2.util">NonNullApi</a></td>
<th class="colLast" scope="row">
<div class="block">Annotation to declare all type usages in the annotated instance as <code>Nonnull</code>, unless
 explicitly marked with a nullable annotation.</div>
</th>
</tr>
<tr id="i754" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/NoOpCacheEvictor.html" title="class in com.google.android.exoplayer2.upstream.cache">NoOpCacheEvictor</a></td>
<th class="colLast" scope="row">
<div class="block">Evictor that doesn't ever evict cache files.</div>
</th>
</tr>
<tr id="i755" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/NoSampleRenderer.html" title="class in com.google.android.exoplayer2">NoSampleRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> implementation whose track type is <a href="com/google/android/exoplayer2/C.html#TRACK_TYPE_NONE"><code>C.TRACK_TYPE_NONE</code></a> and does not
 consume data from its <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
</th>
</tr>
<tr id="i756" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NotificationUtil.html" title="class in com.google.android.exoplayer2.util">NotificationUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for displaying <a href="https://developer.android.com/reference/android/app/Notification.html" title="class or interface in android.app" class="externalLink" target="_top"><code>Notifications</code></a>.</div>
</th>
</tr>
<tr id="i757" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/NotificationUtil.Importance.html" title="annotation in com.google.android.exoplayer2.util">NotificationUtil.Importance</a></td>
<th class="colLast" scope="row">
<div class="block">Notification channel importance levels.</div>
</th>
</tr>
<tr id="i758" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/NoUidTimeline.html" title="class in com.google.android.exoplayer2.testutil">NoUidTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">A timeline which wraps another timeline and overrides all window and period uids to 0.</div>
</th>
</tr>
<tr id="i759" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/OfflineLicenseHelper.html" title="class in com.google.android.exoplayer2.drm">OfflineLicenseHelper</a></td>
<th class="colLast" scope="row">
<div class="block">Helper class to download, renew and release offline licenses.</div>
</th>
</tr>
<tr id="i760" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ogg/OggExtractor.html" title="class in com.google.android.exoplayer2.extractor.ogg">OggExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the Ogg container format.</div>
</th>
</tr>
<tr id="i761" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html" title="class in com.google.android.exoplayer2.ext.okhttp">OkHttpDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/upstream/HttpDataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource</code></a> that delegates to Square's <code>Call.Factory</code>.</div>
</th>
</tr>
<tr id="i762" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.okhttp">OkHttpDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html" title="class in com.google.android.exoplayer2.ext.okhttp"><code>OkHttpDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i763" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.html" title="class in com.google.android.exoplayer2.ext.okhttp">OkHttpDataSourceFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html" title="class in com.google.android.exoplayer2.ext.okhttp"><code>OkHttpDataSource.Factory</code></a> instead.</div>
</th>
</tr>
<tr id="i764" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/opus/OpusDecoder.html" title="class in com.google.android.exoplayer2.ext.opus">OpusDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Opus decoder.</div>
</th>
</tr>
<tr id="i765" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/opus/OpusDecoderException.html" title="class in com.google.android.exoplayer2.ext.opus">OpusDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an Opus decoder error occurs.</div>
</th>
</tr>
<tr id="i766" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/opus/OpusLibrary.html" title="class in com.google.android.exoplayer2.ext.opus">OpusLibrary</a></td>
<th class="colLast" scope="row">
<div class="block">Configures and queries the underlying native library.</div>
</th>
</tr>
<tr id="i767" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/OpusUtil.html" title="class in com.google.android.exoplayer2.audio">OpusUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling Opus audio streams.</div>
</th>
</tr>
<tr id="i768" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/OutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">OutputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Output buffer decoded by a <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><code>Decoder</code></a>.</div>
</th>
</tr>
<tr id="i769" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html" title="interface in com.google.android.exoplayer2.decoder">OutputBuffer.Owner</a>&lt;<a href="com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html" title="type parameter in OutputBuffer.Owner">S</a> extends <a href="com/google/android/exoplayer2/decoder/OutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">OutputBuffer</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Buffer owner.</div>
</th>
</tr>
<tr id="i770" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.html" title="class in com.google.android.exoplayer2.source.mediaparser">OutputConsumerAdapterV30</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="https://developer.android.com/reference/android/media/MediaParser.OutputConsumer.html" title="class or interface in android.media" class="externalLink"><code>MediaParser.OutputConsumer</code></a> implementation that redirects output to an <a href="com/google/android/exoplayer2/extractor/ExtractorOutput.html" title="interface in com.google.android.exoplayer2.extractor" target="_top"><code>ExtractorOutput</code></a>.</div>
</th>
</tr>
<tr id="i771" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ParsableBitArray.html" title="class in com.google.android.exoplayer2.util">ParsableBitArray</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a byte array, providing methods that allow it to be read as a bitstream.</div>
</th>
</tr>
<tr id="i772" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ParsableByteArray.html" title="class in com.google.android.exoplayer2.util">ParsableByteArray</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a byte array, providing a set of methods for parsing data from it.</div>
</th>
</tr>
<tr id="i773" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ParsableNalUnitBitArray.html" title="class in com.google.android.exoplayer2.util">ParsableNalUnitBitArray</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a byte array, providing methods that allow it to be read as a NAL unit bitstream.</div>
</th>
</tr>
<tr id="i774" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ParserException.html" title="class in com.google.android.exoplayer2">ParserException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error occurs parsing media data and metadata.</div>
</th>
</tr>
<tr id="i775" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ParsingLoadable.html" title="class in com.google.android.exoplayer2.upstream">ParsingLoadable</a>&lt;<a href="com/google/android/exoplayer2/upstream/ParsingLoadable.html" title="type parameter in ParsingLoadable">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/Loader.Loadable.html" title="interface in com.google.android.exoplayer2.upstream"><code>Loader.Loadable</code></a> for objects that can be parsed from binary data using a <a href="com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html" title="interface in com.google.android.exoplayer2.upstream"><code>ParsingLoadable.Parser</code></a>.</div>
</th>
</tr>
<tr id="i776" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html" title="interface in com.google.android.exoplayer2.upstream">ParsingLoadable.Parser</a>&lt;<a href="com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html" title="type parameter in ParsingLoadable.Parser">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Parses an object from loaded data.</div>
</th>
</tr>
<tr id="i777" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/PassthroughSectionPayloadReader.html" title="class in com.google.android.exoplayer2.extractor.ts">PassthroughSectionPayloadReader</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><code>SectionPayloadReader</code></a> that directly outputs the section bytes as sample data.</div>
</th>
</tr>
<tr id="i778" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PercentageRating.html" title="class in com.google.android.exoplayer2">PercentageRating</a></td>
<th class="colLast" scope="row">
<div class="block">A rating expressed as a percentage.</div>
</th>
</tr>
<tr id="i779" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/Period.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Period</a></td>
<th class="colLast" scope="row">
<div class="block">Encapsulates media content components over a contiguous period of time.</div>
</th>
</tr>
<tr id="i780" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/PesReader.html" title="class in com.google.android.exoplayer2.extractor.ts">PesReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses PES packet data and extracts samples.</div>
</th>
</tr>
<tr id="i781" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/pgs/PgsDecoder.html" title="class in com.google.android.exoplayer2.text.pgs">PgsDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for PGS subtitles.</div>
</th>
</tr>
<tr id="i782" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/flac/PictureFrame.html" title="class in com.google.android.exoplayer2.metadata.flac">PictureFrame</a></td>
<th class="colLast" scope="row">
<div class="block">A picture parsed from a FLAC file.</div>
</th>
</tr>
<tr id="i783" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/PlatformScheduler.html" title="class in com.google.android.exoplayer2.scheduler">PlatformScheduler</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/scheduler/Scheduler.html" title="interface in com.google.android.exoplayer2.scheduler"><code>Scheduler</code></a> that uses <a href="https://developer.android.com/reference/android/app/job/JobScheduler.html" title="class or interface in android.app.job" class="externalLink" target="_top"><code>JobScheduler</code></a>.</div>
</th>
</tr>
<tr id="i784" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/PlatformScheduler.PlatformSchedulerService.html" title="class in com.google.android.exoplayer2.scheduler">PlatformScheduler.PlatformSchedulerService</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="https://developer.android.com/reference/android/app/job/JobService.html" title="class or interface in android.app.job" class="externalLink" target="_top"><code>JobService</code></a> that starts the target service if the requirements are met.</div>
</th>
</tr>
<tr id="i785" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/PlaybackOutput.html" title="class in com.google.android.exoplayer2.robolectric">PlaybackOutput</a></td>
<th class="colLast" scope="row">
<div class="block">Class to capture output from a playback test.</div>
</th>
</tr>
<tr id="i786" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PlaybackParameters.html" title="class in com.google.android.exoplayer2">PlaybackParameters</a></td>
<th class="colLast" scope="row">
<div class="block">Parameters that apply to playback, including speed setting.</div>
</th>
</tr>
<tr id="i787" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PlaybackPreparer.html" title="interface in com.google.android.exoplayer2">PlaybackPreparer</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/ControlDispatcher.html" title="interface in com.google.android.exoplayer2"><code>ControlDispatcher</code></a> instead.</div>
</th>
</tr>
<tr id="i788" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackSessionManager.html" title="interface in com.google.android.exoplayer2.analytics">PlaybackSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">Manager for active playback sessions.</div>
</th>
</tr>
<tr id="i789" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackSessionManager.Listener.html" title="interface in com.google.android.exoplayer2.analytics">PlaybackSessionManager.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for session updates.</div>
</th>
</tr>
<tr id="i790" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats</a></td>
<th class="colLast" scope="row">
<div class="block">Statistics about playbacks.</div>
</th>
</tr>
<tr id="i791" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndException.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndException</a></td>
<th class="colLast" scope="row">
<div class="block">Stores an exception with the event time at which it occurred.</div>
</th>
</tr>
<tr id="i792" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndFormat.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndFormat</a></td>
<th class="colLast" scope="row">
<div class="block">Stores a format with the event time at which it started being used, or <code>null</code> to indicate
 that no format was used.</div>
</th>
</tr>
<tr id="i793" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndPlaybackState.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStats.EventTimeAndPlaybackState</a></td>
<th class="colLast" scope="row">
<div class="block">Stores a playback state with the event time at which it became active.</div>
</th>
</tr>
<tr id="i794" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStatsListener.html" title="class in com.google.android.exoplayer2.analytics">PlaybackStatsListener</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/analytics/AnalyticsListener.html" title="interface in com.google.android.exoplayer2.analytics"><code>AnalyticsListener</code></a> to gather <a href="com/google/android/exoplayer2/analytics/PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a> from the player.</div>
</th>
</tr>
<tr id="i795" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/analytics/PlaybackStatsListener.Callback.html" title="interface in com.google.android.exoplayer2.analytics">PlaybackStatsListener.Callback</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for <a href="com/google/android/exoplayer2/analytics/PlaybackStats.html" title="class in com.google.android.exoplayer2.analytics"><code>PlaybackStats</code></a> updates.</div>
</th>
</tr>
<tr id="i796" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2">Player</a></td>
<th class="colLast" scope="row">
<div class="block">A media player interface defining traditional high-level functionality, such as the ability to
 play, pause, seek and query properties of the currently playing media.</div>
</th>
</tr>
<tr id="i797" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.Command.html" title="annotation in com.google.android.exoplayer2">Player.Command</a></td>
<th class="colLast" scope="row">
<div class="block">Commands that can be executed on a <code>Player</code>.</div>
</th>
</tr>
<tr id="i798" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.Commands.html" title="class in com.google.android.exoplayer2">Player.Commands</a></td>
<th class="colLast" scope="row">
<div class="block">A set of <a href="com/google/android/exoplayer2/Player.Command.html" title="annotation in com.google.android.exoplayer2"><code>commands</code></a>.</div>
</th>
</tr>
<tr id="i799" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.Commands.Builder.html" title="class in com.google.android.exoplayer2">Player.Commands.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/Player.Commands.html" title="class in com.google.android.exoplayer2"><code>Player.Commands</code></a> instances.</div>
</th>
</tr>
<tr id="i800" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.DiscontinuityReason.html" title="annotation in com.google.android.exoplayer2">Player.DiscontinuityReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reasons for position discontinuities.</div>
</th>
</tr>
<tr id="i801" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.EventFlags.html" title="annotation in com.google.android.exoplayer2">Player.EventFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Events that can be reported via <a href="com/google/android/exoplayer2/Player.Listener.html#onEvents(com.google.android.exoplayer2.Player,com.google.android.exoplayer2.Player.Events)"><code>Player.Listener.onEvents(Player, Events)</code></a>.</div>
</th>
</tr>
<tr id="i802" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.EventListener.html" title="interface in com.google.android.exoplayer2">Player.EventListener</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2"><code>Player.Listener</code></a>.</div>
</th>
</tr>
<tr id="i803" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.Events.html" title="class in com.google.android.exoplayer2">Player.Events</a></td>
<th class="colLast" scope="row">
<div class="block">A set of <a href="com/google/android/exoplayer2/Player.EventFlags.html" title="annotation in com.google.android.exoplayer2"><code>Player.EventFlags</code></a>.</div>
</th>
</tr>
<tr id="i804" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2">Player.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of all changes in the Player.</div>
</th>
</tr>
<tr id="i805" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.MediaItemTransitionReason.html" title="annotation in com.google.android.exoplayer2">Player.MediaItemTransitionReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reasons for media item transitions.</div>
</th>
</tr>
<tr id="i806" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.PlaybackSuppressionReason.html" title="annotation in com.google.android.exoplayer2">Player.PlaybackSuppressionReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reason why playback is suppressed even though <a href="com/google/android/exoplayer2/Player.html#getPlayWhenReady()"><code>Player.getPlayWhenReady()</code></a> is <code>true</code>.</div>
</th>
</tr>
<tr id="i807" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.PlayWhenReadyChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.PlayWhenReadyChangeReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reasons for <a href="com/google/android/exoplayer2/Player.html#getPlayWhenReady()"><code>playWhenReady</code></a> changes.</div>
</th>
</tr>
<tr id="i808" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.PositionInfo.html" title="class in com.google.android.exoplayer2">Player.PositionInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Position info describing a playback position involved in a discontinuity.</div>
</th>
</tr>
<tr id="i809" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.RepeatMode.html" title="annotation in com.google.android.exoplayer2">Player.RepeatMode</a></td>
<th class="colLast" scope="row">
<div class="block">Repeat modes for playback.</div>
</th>
</tr>
<tr id="i810" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.State.html" title="annotation in com.google.android.exoplayer2">Player.State</a></td>
<th class="colLast" scope="row">
<div class="block">Playback state.</div>
</th>
</tr>
<tr id="i811" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Player.TimelineChangeReason.html" title="annotation in com.google.android.exoplayer2">Player.TimelineChangeReason</a></td>
<th class="colLast" scope="row">
<div class="block">Reasons for timeline changes.</div>
</th>
</tr>
<tr id="i812" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerControlView.html" title="class in com.google.android.exoplayer2.ui">PlayerControlView</a></td>
<th class="colLast" scope="row">
<div class="block">A view for controlling <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> instances.</div>
</th>
</tr>
<tr id="i813" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerControlView.ProgressUpdateListener.html" title="interface in com.google.android.exoplayer2.ui">PlayerControlView.ProgressUpdateListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be notified when progress has been updated.</div>
</th>
</tr>
<tr id="i814" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html" title="interface in com.google.android.exoplayer2.ui">PlayerControlView.VisibilityListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be notified about changes of the visibility of the UI control.</div>
</th>
</tr>
<tr id="i815" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html" title="class in com.google.android.exoplayer2.source.dash">PlayerEmsgHandler</a></td>
<th class="colLast" scope="row">
<div class="block">Handles all emsg messages from all media tracks for the player.</div>
</th>
</tr>
<tr id="i816" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html" title="interface in com.google.android.exoplayer2.source.dash">PlayerEmsgHandler.PlayerEmsgCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callbacks for player emsg events encountered during DASH live stream.</div>
</th>
</tr>
<tr id="i817" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PlayerMessage.html" title="class in com.google.android.exoplayer2">PlayerMessage</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a player message which can be sent with a <a href="com/google/android/exoplayer2/PlayerMessage.Sender.html" title="interface in com.google.android.exoplayer2"><code>PlayerMessage.Sender</code></a> and received by a <a href="com/google/android/exoplayer2/PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2"><code>PlayerMessage.Target</code></a>.</div>
</th>
</tr>
<tr id="i818" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PlayerMessage.Sender.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Sender</a></td>
<th class="colLast" scope="row">
<div class="block">A sender for messages.</div>
</th>
</tr>
<tr id="i819" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/PlayerMessage.Target.html" title="interface in com.google.android.exoplayer2">PlayerMessage.Target</a></td>
<th class="colLast" scope="row">
<div class="block">A target for messages.</div>
</th>
</tr>
<tr id="i820" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.html" title="class in com.google.android.exoplayer2.ui">PlayerNotificationManager</a></td>
<th class="colLast" scope="row">
<div class="block">Starts, updates and cancels a media style notification reflecting the player state.</div>
</th>
</tr>
<tr id="i821" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.Builder.html" title="class in com.google.android.exoplayer2.ui">PlayerNotificationManager.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.html" title="class in com.google.android.exoplayer2.ui"><code>PlayerNotificationManager</code></a> instances.</div>
</th>
</tr>
<tr id="i822" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.CustomActionReceiver.html" title="interface in com.google.android.exoplayer2.ui">PlayerNotificationManager.CustomActionReceiver</a></td>
<th class="colLast" scope="row">
<div class="block">Defines and handles custom actions.</div>
</th>
</tr>
<tr id="i823" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.MediaDescriptionAdapter.html" title="interface in com.google.android.exoplayer2.ui">PlayerNotificationManager.MediaDescriptionAdapter</a></td>
<th class="colLast" scope="row">
<div class="block">An adapter to provide content assets of the media currently playing.</div>
</th>
</tr>
<tr id="i824" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.NotificationListener.html" title="interface in com.google.android.exoplayer2.ui">PlayerNotificationManager.NotificationListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for changes to the notification.</div>
</th>
</tr>
<tr id="i825" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.Priority.html" title="annotation in com.google.android.exoplayer2.ui">PlayerNotificationManager.Priority</a></td>
<th class="colLast" scope="row">
<div class="block">Priority of the notification (required for API 25 and lower).</div>
</th>
</tr>
<tr id="i826" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerNotificationManager.Visibility.html" title="annotation in com.google.android.exoplayer2.ui">PlayerNotificationManager.Visibility</a></td>
<th class="colLast" scope="row">
<div class="block">Visibility of notification on the lock screen.</div>
</th>
</tr>
<tr id="i827" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerView.html" title="class in com.google.android.exoplayer2.ui">PlayerView</a></td>
<th class="colLast" scope="row">
<div class="block">A high level view for <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> media playbacks.</div>
</th>
</tr>
<tr id="i828" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html" title="annotation in com.google.android.exoplayer2.ui">PlayerView.ShowBuffering</a></td>
<th class="colLast" scope="row">
<div class="block">Determines when the buffering view is shown.</div>
</th>
</tr>
<tr id="i829" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/PositionHolder.html" title="class in com.google.android.exoplayer2.extractor">PositionHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a position in the stream.</div>
</th>
</tr>
<tr id="i830" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/PriorityDataSource.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> that can be used as part of a task registered with a <a href="com/google/android/exoplayer2/util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util"><code>PriorityTaskManager</code></a>.</div>
</th>
</tr>
<tr id="i831" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html" title="class in com.google.android.exoplayer2.upstream">PriorityDataSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> that produces <a href="com/google/android/exoplayer2/upstream/PriorityDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>PriorityDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i832" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/PriorityTaskManager.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager</a></td>
<th class="colLast" scope="row">
<div class="block">Allows tasks with associated priorities to control how they proceed relative to one another.</div>
</th>
</tr>
<tr id="i833" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/PriorityTaskManager.PriorityTooLowException.html" title="class in com.google.android.exoplayer2.util">PriorityTaskManager.PriorityTooLowException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when task attempts to proceed when another registered task has a higher priority.</div>
</th>
</tr>
<tr id="i834" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/PrivateCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">PrivateCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a private command as defined in SCTE35, Section 9.3.6.</div>
</th>
</tr>
<tr id="i835" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/PrivFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">PrivFrame</a></td>
<th class="colLast" scope="row">
<div class="block">PRIV (Private) ID3 frame.</div>
</th>
</tr>
<tr id="i836" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/ProgramInformation.html" title="class in com.google.android.exoplayer2.source.dash.manifest">ProgramInformation</a></td>
<th class="colLast" scope="row">
<div class="block">A parsed program information element.</div>
</th>
</tr>
<tr id="i837" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/transformer/ProgressHolder.html" title="class in com.google.android.exoplayer2.transformer">ProgressHolder</a></td>
<th class="colLast" scope="row">
<div class="block">Holds a progress percentage.</div>
</th>
</tr>
<tr id="i838" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/ProgressiveDownloader.html" title="class in com.google.android.exoplayer2.offline">ProgressiveDownloader</a></td>
<th class="colLast" scope="row">
<div class="block">A downloader for progressive media streams.</div>
</th>
</tr>
<tr id="i839" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ProgressiveMediaExtractor.html" title="interface in com.google.android.exoplayer2.source">ProgressiveMediaExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts the contents of a container file from a progressive media stream.</div>
</th>
</tr>
<tr id="i840" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ProgressiveMediaExtractor.Factory.html" title="interface in com.google.android.exoplayer2.source">ProgressiveMediaExtractor.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Creates <a href="com/google/android/exoplayer2/source/ProgressiveMediaExtractor.html" title="interface in com.google.android.exoplayer2.source"><code>ProgressiveMediaExtractor</code></a> instances.</div>
</th>
</tr>
<tr id="i841" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ProgressiveMediaSource.html" title="class in com.google.android.exoplayer2.source">ProgressiveMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Provides one period that loads data from a <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink"><code>Uri</code></a> and extracted using an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor" target="_top"><code>Extractor</code></a>.</div>
</th>
</tr>
<tr id="i842" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ProgressiveMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">ProgressiveMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/ProgressiveMediaSource.html" title="class in com.google.android.exoplayer2.source"><code>ProgressiveMediaSource</code></a>s.</div>
</th>
</tr>
<tr id="i843" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/PsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts">PsExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the MPEG-2 PS container format.</div>
</th>
</tr>
<tr id="i844" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html" title="class in com.google.android.exoplayer2.extractor.mp4">PsshAtomUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for handling PSSH atoms.</div>
</th>
</tr>
<tr id="i845" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/RandomizedMp3Decoder.html" title="class in com.google.android.exoplayer2.robolectric">RandomizedMp3Decoder</a></td>
<th class="colLast" scope="row">
<div class="block">Generates randomized, but correct amount of data on MP3 audio input.</div>
</th>
</tr>
<tr id="i846" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/RandomTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection">RandomTrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/trackselection/ExoTrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>ExoTrackSelection</code></a> whose selected track is updated randomly.</div>
</th>
</tr>
<tr id="i847" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/RandomTrackSelection.Factory.html" title="class in com.google.android.exoplayer2.trackselection">RandomTrackSelection.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/trackselection/RandomTrackSelection.html" title="class in com.google.android.exoplayer2.trackselection"><code>RandomTrackSelection</code></a> instances.</div>
</th>
</tr>
<tr id="i848" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/RangedUri.html" title="class in com.google.android.exoplayer2.source.dash.manifest">RangedUri</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a range of data located at a reference uri.</div>
</th>
</tr>
<tr id="i849" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Rating.html" title="class in com.google.android.exoplayer2">Rating</a></td>
<th class="colLast" scope="row">
<div class="block">A rating for media content.</div>
</th>
</tr>
<tr id="i850" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/rawcc/RawCcExtractor.html" title="class in com.google.android.exoplayer2.extractor.rawcc">RawCcExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the RawCC container format.</div>
</th>
</tr>
<tr id="i851" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/RawResourceDataSource.html" title="class in com.google.android.exoplayer2.upstream">RawResourceDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> for reading a raw resource inside the APK.</div>
</th>
</tr>
<tr id="i852" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">RawResourceDataSource.RawResourceDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an <a href="https://developer.android.com/reference/java/io/IOException.html" title="class or interface in java.io" class="externalLink" target="_top"><code>IOException</code></a> is encountered reading from a raw resource.</div>
</th>
</tr>
<tr id="i853" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2">Renderer</a></td>
<th class="colLast" scope="row">
<div class="block">Renders media read from a <a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source"><code>SampleStream</code></a>.</div>
</th>
</tr>
<tr id="i854" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Renderer.State.html" title="annotation in com.google.android.exoplayer2">Renderer.State</a></td>
<th class="colLast" scope="row">
<div class="block">The renderer states.</div>
</th>
</tr>
<tr id="i855" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Renderer.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2">Renderer.VideoScalingMode</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/C.VideoScalingMode.html" title="annotation in com.google.android.exoplayer2"><code>C.VideoScalingMode</code></a>.</div>
</th>
</tr>
<tr id="i856" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Renderer.WakeupListener.html" title="interface in com.google.android.exoplayer2">Renderer.WakeupListener</a></td>
<th class="colLast" scope="row">
<div class="block">Some renderers can signal when <a href="com/google/android/exoplayer2/Renderer.html#render(long,long)"><code>Renderer.render(long, long)</code></a> should be called.</div>
</th>
</tr>
<tr id="i857" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererCapabilities.html" title="interface in com.google.android.exoplayer2">RendererCapabilities</a></td>
<th class="colLast" scope="row">
<div class="block">Defines the capabilities of a <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a>.</div>
</th>
</tr>
<tr id="i858" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.AdaptiveSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Level of renderer support for adaptive format switches.</div>
</th>
</tr>
<tr id="i859" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererCapabilities.Capabilities.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.Capabilities</a></td>
<th class="colLast" scope="row">
<div class="block">Combined renderer capabilities.</div>
</th>
</tr>
<tr id="i860" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.FormatSupport</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/C.FormatSupport.html" title="annotation in com.google.android.exoplayer2"><code>C.FormatSupport</code></a> instead.</div>
</th>
</tr>
<tr id="i861" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html" title="annotation in com.google.android.exoplayer2">RendererCapabilities.TunnelingSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Level of renderer support for tunneling.</div>
</th>
</tr>
<tr id="i862" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RendererConfiguration.html" title="class in com.google.android.exoplayer2">RendererConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">The configuration of a <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a>.</div>
</th>
</tr>
<tr id="i863" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/RenderersFactory.html" title="interface in com.google.android.exoplayer2">RenderersFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Builds <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> instances for use by a <a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer</code></a>.</div>
</th>
</tr>
<tr id="i864" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html" title="class in com.google.android.exoplayer2.ext.mediasession">RepeatModeActionProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides a custom action for toggling repeat modes.</div>
</th>
</tr>
<tr id="i865" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/RepeatModeUtil.html" title="class in com.google.android.exoplayer2.util">RepeatModeUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Util class for repeat mode handling.</div>
</th>
</tr>
<tr id="i866" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/RepeatModeUtil.RepeatToggleModes.html" title="annotation in com.google.android.exoplayer2.util">RepeatModeUtil.RepeatToggleModes</a></td>
<th class="colLast" scope="row">
<div class="block">Set of repeat toggle modes.</div>
</th>
</tr>
<tr id="i867" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/Representation.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Representation</a></td>
<th class="colLast" scope="row">
<div class="block">A DASH representation.</div>
</th>
</tr>
<tr id="i868" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/Representation.MultiSegmentRepresentation.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Representation.MultiSegmentRepresentation</a></td>
<th class="colLast" scope="row">
<div class="block">A DASH representation consisting of multiple segments.</div>
</th>
</tr>
<tr id="i869" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/Representation.SingleSegmentRepresentation.html" title="class in com.google.android.exoplayer2.source.dash.manifest">Representation.SingleSegmentRepresentation</a></td>
<th class="colLast" scope="row">
<div class="block">A DASH representation consisting of a single segment.</div>
</th>
</tr>
<tr id="i870" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/Requirements.html" title="class in com.google.android.exoplayer2.scheduler">Requirements</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a set of device state requirements.</div>
</th>
</tr>
<tr id="i871" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/Requirements.RequirementFlags.html" title="annotation in com.google.android.exoplayer2.scheduler">Requirements.RequirementFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Requirement flags.</div>
</th>
</tr>
<tr id="i872" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/RequirementsWatcher.html" title="class in com.google.android.exoplayer2.scheduler">RequirementsWatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Watches whether the <a href="com/google/android/exoplayer2/scheduler/Requirements.html" title="class in com.google.android.exoplayer2.scheduler"><code>Requirements</code></a> are met and notifies the <a href="com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html" title="interface in com.google.android.exoplayer2.scheduler"><code>RequirementsWatcher.Listener</code></a> on changes.</div>
</th>
</tr>
<tr id="i873" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html" title="interface in com.google.android.exoplayer2.scheduler">RequirementsWatcher.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">Notified when RequirementsWatcher instance first created and on changes whether the <a href="com/google/android/exoplayer2/scheduler/Requirements.html" title="class in com.google.android.exoplayer2.scheduler"><code>Requirements</code></a> are met.</div>
</th>
</tr>
<tr id="i874" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> wrapper allowing just-in-time resolution of <a href="com/google/android/exoplayer2/upstream/DataSpec.html" title="class in com.google.android.exoplayer2.upstream"><code>DataSpecs</code></a>.</div>
</th>
</tr>
<tr id="i875" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html" title="class in com.google.android.exoplayer2.upstream">ResolvingDataSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource.Factory</code></a> for <a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>ResolvingDataSource</code></a> instances.</div>
</th>
</tr>
<tr id="i876" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html" title="interface in com.google.android.exoplayer2.upstream">ResolvingDataSource.Resolver</a></td>
<th class="colLast" scope="row">
<div class="block">Resolves <a href="com/google/android/exoplayer2/upstream/DataSpec.html" title="class in com.google.android.exoplayer2.upstream"><code>DataSpecs</code></a>.</div>
</th>
</tr>
<tr id="i877" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html" title="class in com.google.android.exoplayer2.util">ReusableBufferedOutputStream</a></td>
<th class="colLast" scope="row">
<div class="block">This is a subclass of <a href="https://developer.android.com/reference/java/io/BufferedOutputStream.html" title="class or interface in java.io" class="externalLink"><code>BufferedOutputStream</code></a> with a <a href="com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html#reset(java.io.OutputStream)" target="_top"><code>ReusableBufferedOutputStream.reset(OutputStream)</code></a> method
 that allows an instance to be re-used with another underlying output stream.</div>
</th>
</tr>
<tr id="i878" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/RobolectricUtil.html" title="class in com.google.android.exoplayer2.robolectric">RobolectricUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for Robolectric-based tests.</div>
</th>
</tr>
<tr id="i879" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A Real-Time Messaging Protocol (RTMP) <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a>.</div>
</th>
</tr>
<tr id="i880" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html" title="class in com.google.android.exoplayer2.ext.rtmp">RtmpDataSourceFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html" title="interface in com.google.android.exoplayer2.upstream"><code>HttpDataSource.Factory</code></a> that produces <a href="com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html" title="class in com.google.android.exoplayer2.ext.rtmp"><code>RtmpDataSource</code></a>.</div>
</th>
</tr>
<tr id="i881" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/reader/RtpAc3Reader.html" title="class in com.google.android.exoplayer2.source.rtsp.reader">RtpAc3Reader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses an AC3 byte stream carried on RTP packets, and extracts AC3 frames.</div>
</th>
</tr>
<tr id="i882" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket</a></td>
<th class="colLast" scope="row">
<div class="block">Represents the header and the payload of an RTP packet.</div>
</th>
</tr>
<tr id="i883" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtpPacket.Builder.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder class for an <a href="com/google/android/exoplayer2/source/rtsp/RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a></div>
</th>
</tr>
<tr id="i884" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtpPayloadFormat.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPayloadFormat</a></td>
<th class="colLast" scope="row">
<div class="block">Represents the payload format used in RTP.</div>
</th>
</tr>
<tr id="i885" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/reader/RtpPayloadReader.html" title="interface in com.google.android.exoplayer2.source.rtsp.reader">RtpPayloadReader</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts media samples from the payload of received RTP packets.</div>
</th>
</tr>
<tr id="i886" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/reader/RtpPayloadReader.Factory.html" title="interface in com.google.android.exoplayer2.source.rtsp.reader">RtpPayloadReader.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory of <a href="com/google/android/exoplayer2/source/rtsp/reader/RtpPayloadReader.html" title="interface in com.google.android.exoplayer2.source.rtsp.reader"><code>RtpPayloadReader</code></a> instances.</div>
</th>
</tr>
<tr id="i887" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtpUtils.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpUtils</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for RTP.</div>
</th>
</tr>
<tr id="i888" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtspMediaSource.html" title="class in com.google.android.exoplayer2.source.rtsp">RtspMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">An Rtsp <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a></div>
</th>
</tr>
<tr id="i889" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtspMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source.rtsp">RtspMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/rtsp/RtspMediaSource.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtspMediaSource</code></a></div>
</th>
</tr>
<tr id="i890" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/rtsp/RtspMediaSource.RtspPlaybackException.html" title="class in com.google.android.exoplayer2.source.rtsp">RtspMediaSource.RtspPlaybackException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an exception or error is encountered during loading an RTSP stream.</div>
</th>
</tr>
<tr id="i891" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/RubySpan.html" title="class in com.google.android.exoplayer2.text.span">RubySpan</a></td>
<th class="colLast" scope="row">
<div class="block">A styling span for ruby text.</div>
</th>
</tr>
<tr id="i892" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/RunnableFutureTask.html" title="class in com.google.android.exoplayer2.util">RunnableFutureTask</a>&lt;<a href="com/google/android/exoplayer2/util/RunnableFutureTask.html" title="type parameter in RunnableFutureTask">R</a>,&#8203;<a href="com/google/android/exoplayer2/util/RunnableFutureTask.html" title="type parameter in RunnableFutureTask">E</a> extends <a href="https://developer.android.com/reference/java/lang/Exception.html" title="class or interface in java.lang" class="externalLink" target="_top">Exception</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A <a href="https://developer.android.com/reference/java/util/concurrent/RunnableFuture.html" title="class or interface in java.util.concurrent" class="externalLink" target="_top"><code>RunnableFuture</code></a> that supports additional uninterruptible operations to query whether
 execution has started and finished.</div>
</th>
</tr>
<tr id="i893" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SampleQueue.html" title="class in com.google.android.exoplayer2.source">SampleQueue</a></td>
<th class="colLast" scope="row">
<div class="block">A queue of media samples.</div>
</th>
</tr>
<tr id="i894" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SampleQueue.UpstreamFormatChangedListener.html" title="interface in com.google.android.exoplayer2.source">SampleQueue.UpstreamFormatChangedListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for changes to the upstream format.</div>
</th>
</tr>
<tr id="i895" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/SampleQueueMappingException.html" title="class in com.google.android.exoplayer2.source.hls">SampleQueueMappingException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when it is not possible to map a <a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a> to a <a href="com/google/android/exoplayer2/source/SampleQueue.html" title="class in com.google.android.exoplayer2.source"><code>SampleQueue</code></a>.</div>
</th>
</tr>
<tr id="i896" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SampleStream.html" title="interface in com.google.android.exoplayer2.source">SampleStream</a></td>
<th class="colLast" scope="row">
<div class="block">A stream of media samples (and associated format information).</div>
</th>
</tr>
<tr id="i897" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadDataResult</a></td>
<th class="colLast" scope="row">
<div class="block">Return values of <a href="com/google/android/exoplayer2/source/SampleStream.html#readData(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)"><code>SampleStream.readData(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, int)</code></a>.</div>
</th>
</tr>
<tr id="i898" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SampleStream.ReadFlags.html" title="annotation in com.google.android.exoplayer2.source">SampleStream.ReadFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Flags that can be specified when calling <a href="com/google/android/exoplayer2/source/SampleStream.html#readData(com.google.android.exoplayer2.FormatHolder,com.google.android.exoplayer2.decoder.DecoderInputBuffer,int)"><code>SampleStream.readData(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, int)</code></a>.</div>
</th>
</tr>
<tr id="i899" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/scheduler/Scheduler.html" title="interface in com.google.android.exoplayer2.scheduler">Scheduler</a></td>
<th class="colLast" scope="row">
<div class="block">Schedules a service to be started in the foreground when some <a href="com/google/android/exoplayer2/scheduler/Requirements.html" title="class in com.google.android.exoplayer2.scheduler"><code>Requirements</code></a> are met.</div>
</th>
</tr>
<tr id="i900" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts">SectionPayloadReader</a></td>
<th class="colLast" scope="row">
<div class="block">Reads section data.</div>
</th>
</tr>
<tr id="i901" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/SectionReader.html" title="class in com.google.android.exoplayer2.extractor.ts">SectionReader</a></td>
<th class="colLast" scope="row">
<div class="block">Reads section data packets and feeds the whole sections to a given <a href="com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><code>SectionPayloadReader</code></a>.</div>
</th>
</tr>
<tr id="i902" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor">SeekMap</a></td>
<th class="colLast" scope="row">
<div class="block">Maps seek positions (in microseconds) to corresponding positions (byte offsets) in the stream.</div>
</th>
</tr>
<tr id="i903" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/SeekMap.SeekPoints.html" title="class in com.google.android.exoplayer2.extractor">SeekMap.SeekPoints</a></td>
<th class="colLast" scope="row">
<div class="block">Contains one or two <a href="com/google/android/exoplayer2/extractor/SeekPoint.html" title="class in com.google.android.exoplayer2.extractor"><code>SeekPoint</code></a>s.</div>
</th>
</tr>
<tr id="i904" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/SeekMap.Unseekable.html" title="class in com.google.android.exoplayer2.extractor">SeekMap.Unseekable</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/extractor/SeekMap.html" title="interface in com.google.android.exoplayer2.extractor"><code>SeekMap</code></a> that does not support seeking.</div>
</th>
</tr>
<tr id="i905" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/SeekParameters.html" title="class in com.google.android.exoplayer2">SeekParameters</a></td>
<th class="colLast" scope="row">
<div class="block">Parameters that apply to seeking.</div>
</th>
</tr>
<tr id="i906" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/SeekPoint.html" title="class in com.google.android.exoplayer2.extractor">SeekPoint</a></td>
<th class="colLast" scope="row">
<div class="block">Defines a seek point in a media stream.</div>
</th>
</tr>
<tr id="i907" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase</a></td>
<th class="colLast" scope="row">
<div class="block">An approximate representation of a SegmentBase manifest element.</div>
</th>
</tr>
<tr id="i908" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase.MultiSegmentBase</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest"><code>SegmentBase</code></a> that consists of multiple segments.</div>
</th>
</tr>
<tr id="i909" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentList.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase.SegmentList</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest"><code>SegmentBase.MultiSegmentBase</code></a> that uses a SegmentList to define its segments.</div>
</th>
</tr>
<tr id="i910" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase.SegmentTemplate</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest"><code>SegmentBase.MultiSegmentBase</code></a> that uses a SegmentTemplate to define its segments.</div>
</th>
</tr>
<tr id="i911" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTimelineElement.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase.SegmentTimelineElement</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a timeline segment from the MPD's SegmentTimeline list.</div>
</th>
</tr>
<tr id="i912" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SingleSegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest">SegmentBase.SingleSegmentBase</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html" title="class in com.google.android.exoplayer2.source.dash.manifest"><code>SegmentBase</code></a> that defines a single segment.</div>
</th>
</tr>
<tr id="i913" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/SegmentDownloader.html" title="class in com.google.android.exoplayer2.offline">SegmentDownloader</a>&lt;<a href="com/google/android/exoplayer2/offline/SegmentDownloader.html" title="type parameter in SegmentDownloader">M</a> extends <a href="com/google/android/exoplayer2/offline/FilterableManifest.html" title="interface in com.google.android.exoplayer2.offline">FilterableManifest</a>&lt;<a href="com/google/android/exoplayer2/offline/SegmentDownloader.html" title="type parameter in SegmentDownloader">M</a>&gt;&gt;</td>
<th class="colLast" scope="row">
<div class="block">Base class for multi segment stream downloaders.</div>
</th>
</tr>
<tr id="i914" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/SegmentDownloader.Segment.html" title="class in com.google.android.exoplayer2.offline">SegmentDownloader.Segment</a></td>
<th class="colLast" scope="row">
<div class="block">Smallest unit of content to be downloaded.</div>
</th>
</tr>
<tr id="i915" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/SeiReader.html" title="class in com.google.android.exoplayer2.extractor.ts">SeiReader</a></td>
<th class="colLast" scope="row">
<div class="block">Consumes SEI buffers, outputting contained CEA-608/708 messages to a <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutput</code></a>.</div>
</th>
</tr>
<tr id="i916" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source">SequenceableLoader</a></td>
<th class="colLast" scope="row">
<div class="block">A loader that can proceed in approximate synchronization with other loaders.</div>
</th>
</tr>
<tr id="i917" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SequenceableLoader.Callback.html" title="interface in com.google.android.exoplayer2.source">SequenceableLoader.Callback</a>&lt;<a href="com/google/android/exoplayer2/source/SequenceableLoader.Callback.html" title="type parameter in SequenceableLoader.Callback">T</a> extends <a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source">SequenceableLoader</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A callback to be notified of <a href="com/google/android/exoplayer2/source/SequenceableLoader.html" title="interface in com.google.android.exoplayer2.source"><code>SequenceableLoader</code></a> events.</div>
</th>
</tr>
<tr id="i918" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html" title="class in com.google.android.exoplayer2.source.dash.manifest">ServiceDescriptionElement</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a service description element.</div>
</th>
</tr>
<tr id="i919" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html" title="interface in com.google.android.exoplayer2.ext.cast">SessionAvailabilityListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of changes in the cast session availability.</div>
</th>
</tr>
<tr id="i920" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html" title="class in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">Builds a <code>MediaSession.SessionCallback</code> with various collaborators.</div>
</th>
</tr>
<tr id="i921" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.AllowedCommandProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides allowed commands for <code>MediaController</code>.</div>
</th>
</tr>
<tr id="i922" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.CustomCommandProvider.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.CustomCommandProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Callbacks for querying what custom commands are supported, and for handling a custom command
 when a controller sends it.</div>
</th>
</tr>
<tr id="i923" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DefaultAllowedCommandProvider.html" title="class in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.DefaultAllowedCommandProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html" title="interface in com.google.android.exoplayer2.ext.media2"><code>SessionCallbackBuilder.AllowedCommandProvider</code></a> that behaves as follows:

 
   Accepts connection requests from controller if any of the following conditions are met:
       
         Controller is in the same package as the session.</div>
</th>
</tr>
<tr id="i924" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DisconnectedCallback.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.DisconnectedCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback for handling controller disconnection.</div>
</th>
</tr>
<tr id="i925" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaIdMediaItemProvider.html" title="class in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.MediaIdMediaItemProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html" title="interface in com.google.android.exoplayer2.ext.media2"><code>SessionCallbackBuilder.MediaItemProvider</code></a> that creates media items containing only a media ID.</div>
</th>
</tr>
<tr id="i926" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.MediaItemProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides the <code>MediaItem</code>.</div>
</th>
</tr>
<tr id="i927" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.PostConnectCallback.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.PostConnectCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback for handling extra initialization after the connection.</div>
</th>
</tr>
<tr id="i928" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.RatingCallback.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.RatingCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback receiving a user rating for a specified media id.</div>
</th>
</tr>
<tr id="i929" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.SkipCallback.html" title="interface in com.google.android.exoplayer2.ext.media2">SessionCallbackBuilder.SkipCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback receiving skip backward and skip forward.</div>
</th>
</tr>
<tr id="i930" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.html" title="class in com.google.android.exoplayer2.ext.media2">SessionPlayerConnector</a></td>
<th class="colLast" scope="row">
<div class="block">An implementation of <code>SessionPlayer</code> that wraps a given ExoPlayer <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> instance.</div>
</th>
</tr>
<tr id="i931" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/ShadowMediaCodecConfig.html" title="class in com.google.android.exoplayer2.robolectric">ShadowMediaCodecConfig</a></td>
<th class="colLast" scope="row">
<div class="block">A JUnit @Rule to configure Roboelectric's <code>ShadowMediaCodec</code>.</div>
</th>
</tr>
<tr id="i932" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source">ShuffleOrder</a></td>
<th class="colLast" scope="row">
<div class="block">Shuffled order of indices.</div>
</th>
</tr>
<tr id="i933" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ShuffleOrder.DefaultShuffleOrder.html" title="class in com.google.android.exoplayer2.source">ShuffleOrder.DefaultShuffleOrder</a></td>
<th class="colLast" scope="row">
<div class="block">The default <a href="com/google/android/exoplayer2/source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source"><code>ShuffleOrder</code></a> implementation for random shuffle order.</div>
</th>
</tr>
<tr id="i934" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ShuffleOrder.UnshuffledShuffleOrder.html" title="class in com.google.android.exoplayer2.source">ShuffleOrder.UnshuffledShuffleOrder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/ShuffleOrder.html" title="interface in com.google.android.exoplayer2.source"><code>ShuffleOrder</code></a> implementation which does not shuffle.</div>
</th>
</tr>
<tr id="i935" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SilenceMediaSource.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Media source with a single period consisting of silent raw audio of a given duration.</div>
</th>
</tr>
<tr id="i936" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SilenceMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/SilenceMediaSource.html" title="class in com.google.android.exoplayer2.source"><code>SilenceMediaSources</code></a>.</div>
</th>
</tr>
<tr id="i937" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">SilenceSkippingAudioProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/audio/AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessor</code></a> that skips silence in the input stream.</div>
</th>
</tr>
<tr id="i938" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/cache/SimpleCache.html" title="class in com.google.android.exoplayer2.upstream.cache">SimpleCache</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/upstream/cache/Cache.html" title="interface in com.google.android.exoplayer2.upstream.cache"><code>Cache</code></a> implementation that maintains an in-memory representation.</div>
</th>
</tr>
<tr id="i939" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="class in com.google.android.exoplayer2.decoder">SimpleDecoder</a>&lt;<a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="type parameter in SimpleDecoder">I</a> extends <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder">DecoderInputBuffer</a>,&#8203;<a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="type parameter in SimpleDecoder">O</a> extends <a href="com/google/android/exoplayer2/decoder/OutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">OutputBuffer</a>,&#8203;<a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="type parameter in SimpleDecoder">E</a> extends <a href="com/google/android/exoplayer2/decoder/DecoderException.html" title="class in com.google.android.exoplayer2.decoder">DecoderException</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Base class for <a href="com/google/android/exoplayer2/decoder/Decoder.html" title="interface in com.google.android.exoplayer2.decoder"><code>Decoder</code></a>s that use their own decode thread and decode each input buffer
 immediately into a corresponding output buffer.</div>
</th>
</tr>
<tr id="i940" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> implementation that uses default <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> components.</div>
</th>
</tr>
<tr id="i941" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/SimpleExoPlayer.Builder.html" title="class in com.google.android.exoplayer2">SimpleExoPlayer.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer</code></a> instances.</div>
</th>
</tr>
<tr id="i942" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html" title="class in com.google.android.exoplayer2.metadata">SimpleMetadataDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/metadata/MetadataDecoder.html" title="interface in com.google.android.exoplayer2.metadata"><code>MetadataDecoder</code></a> base class that validates input buffers and discards any for which
 <a href="com/google/android/exoplayer2/decoder/Buffer.html#isDecodeOnly()"><code>Buffer.isDecodeOnly()</code></a> is <code>true</code>.</div>
</th>
</tr>
<tr id="i943" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html" title="class in com.google.android.exoplayer2.decoder">SimpleOutputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Buffer for <a href="com/google/android/exoplayer2/decoder/SimpleDecoder.html" title="class in com.google.android.exoplayer2.decoder"><code>SimpleDecoder</code></a> output.</div>
</th>
</tr>
<tr id="i944" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text">SimpleSubtitleDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for subtitle parsers that use their own decode thread.</div>
</th>
</tr>
<tr id="i945" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html" title="class in com.google.android.exoplayer2.source.ads">SinglePeriodAdTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> for sources that have ads.</div>
</th>
</tr>
<tr id="i946" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SinglePeriodTimeline.html" title="class in com.google.android.exoplayer2.source">SinglePeriodTimeline</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> consisting of a single period and static window.</div>
</th>
</tr>
<tr id="i947" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk">SingleSampleMediaChunk</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html" title="class in com.google.android.exoplayer2.source.chunk"><code>BaseMediaChunk</code></a> for chunks consisting of a single raw sample.</div>
</th>
</tr>
<tr id="i948" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">Loads data at a given <a href="https://developer.android.com/reference/android/net/Uri.html" title="class or interface in android.net" class="externalLink"><code>Uri</code></a> as a single sample belonging to a single <a href="com/google/android/exoplayer2/source/MediaPeriod.html" title="interface in com.google.android.exoplayer2.source" target="_top"><code>MediaPeriod</code></a>.</div>
</th>
</tr>
<tr id="i949" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source">SingleSampleMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/SingleSampleMediaSource.html" title="class in com.google.android.exoplayer2.source"><code>SingleSampleMediaSource</code></a>.</div>
</th>
</tr>
<tr id="i950" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/SlidingPercentile.html" title="class in com.google.android.exoplayer2.util">SlidingPercentile</a></td>
<th class="colLast" scope="row">
<div class="block">Calculate any percentile over a sliding window of weighted values.</div>
</th>
</tr>
<tr id="i951" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about the segments of slow motion playback within a track.</div>
</th>
</tr>
<tr id="i952" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html" title="class in com.google.android.exoplayer2.metadata.mp4">SlowMotionData.Segment</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a single segment of slow motion playback within a track.</div>
</th>
</tr>
<tr id="i953" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/mp4/SmtaMetadataEntry.html" title="class in com.google.android.exoplayer2.metadata.mp4">SmtaMetadataEntry</a></td>
<th class="colLast" scope="row">
<div class="block">Stores metadata from the Samsung smta box.</div>
</th>
</tr>
<tr id="i954" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/SntpClient.html" title="class in com.google.android.exoplayer2.util">SntpClient</a></td>
<th class="colLast" scope="row">
<div class="block">Static utility to retrieve the device time offset using SNTP.</div>
</th>
</tr>
<tr id="i955" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/SntpClient.InitializationCallback.html" title="interface in com.google.android.exoplayer2.util">SntpClient.InitializationCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback for calls to <a href="com/google/android/exoplayer2/util/SntpClient.html#initialize(com.google.android.exoplayer2.upstream.Loader,com.google.android.exoplayer2.util.SntpClient.InitializationCallback)"><code>SntpClient.initialize(Loader, InitializationCallback)</code></a>.</div>
</th>
</tr>
<tr id="i956" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/SonicAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">SonicAudioProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">An <a href="com/google/android/exoplayer2/audio/AudioProcessor.html" title="interface in com.google.android.exoplayer2.audio"><code>AudioProcessor</code></a> that uses the Sonic library to modify audio speed/pitch/sample rate.</div>
</th>
</tr>
<tr id="i957" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.html" title="class in com.google.android.exoplayer2.testutil.truth">SpannedSubject</a></td>
<th class="colLast" scope="row">
<div class="block">A Truth <code>Subject</code> for assertions on <a href="https://developer.android.com/reference/android/text/Spanned.html" title="class or interface in android.text" class="externalLink" target="_top"><code>Spanned</code></a> instances containing text styling.</div>
</th>
</tr>
<tr id="i958" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.AbsoluteSized.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.AbsoluteSized</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about the absolute size of a span.</div>
</th>
</tr>
<tr id="i959" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.Aligned.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.Aligned</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about the alignment of a span.</div>
</th>
</tr>
<tr id="i960" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.AndSpanFlags.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.AndSpanFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Allows additional assertions to be made on the flags of matching spans.</div>
</th>
</tr>
<tr id="i961" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.Colored.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.Colored</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about the color of a span.</div>
</th>
</tr>
<tr id="i962" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.EmphasizedText.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.EmphasizedText</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about a span's text emphasis mark and its position.</div>
</th>
</tr>
<tr id="i963" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.RelativeSized.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.RelativeSized</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about the relative size of a span.</div>
</th>
</tr>
<tr id="i964" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.RubyText.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.RubyText</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about a span's ruby text and its position.</div>
</th>
</tr>
<tr id="i965" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.Typefaced.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.Typefaced</a></td>
<th class="colLast" scope="row">
<div class="block">Allows assertions about the typeface of a span.</div>
</th>
</tr>
<tr id="i966" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/truth/SpannedSubject.WithSpanFlags.html" title="interface in com.google.android.exoplayer2.testutil.truth">SpannedSubject.WithSpanFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Allows additional assertions to be made on the flags of matching spans.</div>
</th>
</tr>
<tr id="i967" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/SpanUtil.html" title="class in com.google.android.exoplayer2.text.span">SpanUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for Android <a href="https://developer.android.com/guide/topics/text/spans">span
 styling</a>.</div>
</th>
</tr>
<tr id="i968" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/spherical/SphericalGLSurfaceView.html" title="class in com.google.android.exoplayer2.video.spherical">SphericalGLSurfaceView</a></td>
<th class="colLast" scope="row">
<div class="block">Renders a GL scene in a non-VR Activity that is affected by phone orientation and touch input.</div>
</th>
</tr>
<tr id="i969" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/spherical/SphericalGLSurfaceView.VideoSurfaceListener.html" title="interface in com.google.android.exoplayer2.video.spherical">SphericalGLSurfaceView.VideoSurfaceListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for the <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a> to which video frames should be rendered.</div>
</th>
</tr>
<tr id="i970" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Superclass for SCTE35 splice commands.</div>
</th>
</tr>
<tr id="i971" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceInfoDecoder.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceInfoDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes splice info sections and produces splice commands.</div>
</th>
</tr>
<tr id="i972" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceInsertCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a splice insert command defined in SCTE35, Section 9.3.3.</div>
</th>
</tr>
<tr id="i973" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.ComponentSplice.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceInsertCommand.ComponentSplice</a></td>
<th class="colLast" scope="row">
<div class="block">Holds splicing information for specific splice insert command components.</div>
</th>
</tr>
<tr id="i974" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceNullCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceNullCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a splice null command as defined in SCTE35, Section 9.3.1.</div>
</th>
</tr>
<tr id="i975" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceScheduleCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a splice schedule command as defined in SCTE35, Section 9.3.2.</div>
</th>
</tr>
<tr id="i976" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.ComponentSplice.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceScheduleCommand.ComponentSplice</a></td>
<th class="colLast" scope="row">
<div class="block">Holds splicing information for specific splice schedule command components.</div>
</th>
</tr>
<tr id="i977" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.Event.html" title="class in com.google.android.exoplayer2.metadata.scte35">SpliceScheduleCommand.Event</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a splice event as contained in a <a href="com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35"><code>SpliceScheduleCommand</code></a>.</div>
</th>
</tr>
<tr id="i978" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/ssa/SsaDecoder.html" title="class in com.google.android.exoplayer2.text.ssa">SsaDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for SSA/ASS.</div>
</th>
</tr>
<tr id="i979" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html" title="interface in com.google.android.exoplayer2.source.smoothstreaming">SsChunkSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/source/chunk/ChunkSource.html" title="interface in com.google.android.exoplayer2.source.chunk"><code>ChunkSource</code></a> for SmoothStreaming.</div>
</th>
</tr>
<tr id="i980" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.Factory.html" title="interface in com.google.android.exoplayer2.source.smoothstreaming">SsChunkSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html" title="interface in com.google.android.exoplayer2.source.smoothstreaming"><code>SsChunkSource</code></a>s.</div>
</th>
</tr>
<tr id="i981" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.offline">SsDownloader</a></td>
<th class="colLast" scope="row">
<div class="block">A downloader for SmoothStreaming streams.</div>
</th>
</tr>
<tr id="i982" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.manifest">SsManifest</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a SmoothStreaming manifest.</div>
</th>
</tr>
<tr id="i983" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.ProtectionElement.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.manifest">SsManifest.ProtectionElement</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a protection element containing a single header.</div>
</th>
</tr>
<tr id="i984" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.StreamElement.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.manifest">SsManifest.StreamElement</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a StreamIndex element.</div>
</th>
</tr>
<tr id="i985" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.manifest">SsManifestParser</a></td>
<th class="colLast" scope="row">
<div class="block">Parses SmoothStreaming client manifests.</div>
</th>
</tr>
<tr id="i986" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.MissingFieldException.html" title="class in com.google.android.exoplayer2.source.smoothstreaming.manifest">SsManifestParser.MissingFieldException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown if a required field is missing.</div>
</th>
</tr>
<tr id="i987" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html" title="class in com.google.android.exoplayer2.source.smoothstreaming">SsMediaSource</a></td>
<th class="colLast" scope="row">
<div class="block">A SmoothStreaming <a href="com/google/android/exoplayer2/source/MediaSource.html" title="interface in com.google.android.exoplayer2.source"><code>MediaSource</code></a>.</div>
</th>
</tr>
<tr id="i988" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.Factory.html" title="class in com.google.android.exoplayer2.source.smoothstreaming">SsMediaSource.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory for <a href="com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html" title="class in com.google.android.exoplayer2.source.smoothstreaming"><code>SsMediaSource</code></a>.</div>
</th>
</tr>
<tr id="i989" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/StandaloneMediaClock.html" title="class in com.google.android.exoplayer2.util">StandaloneMediaClock</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/util/MediaClock.html" title="interface in com.google.android.exoplayer2.util"><code>MediaClock</code></a> whose position advances with real time based on the playback parameters when
 started.</div>
</th>
</tr>
<tr id="i990" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/StarRating.html" title="class in com.google.android.exoplayer2">StarRating</a></td>
<th class="colLast" scope="row">
<div class="block">A rating expressed as a fractional number of stars.</div>
</th>
</tr>
<tr id="i991" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/jpeg/StartOffsetExtractorOutput.html" title="class in com.google.android.exoplayer2.extractor.jpeg">StartOffsetExtractorOutput</a></td>
<th class="colLast" scope="row">
<div class="block">An extractor output that wraps another extractor output and applies a give start byte offset to
 seek positions.</div>
</th>
</tr>
<tr id="i992" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/StatsDataSource.html" title="class in com.google.android.exoplayer2.upstream">StatsDataSource</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a> wrapper which keeps track of bytes transferred, redirected uris, and response
 headers.</div>
</th>
</tr>
<tr id="i993" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/StreamKey.html" title="class in com.google.android.exoplayer2.offline">StreamKey</a></td>
<th class="colLast" scope="row">
<div class="block">A key for a subset of media which can be separately loaded (a "stream").</div>
</th>
</tr>
<tr id="i994" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/StubExoPlayer.html" title="class in com.google.android.exoplayer2.testutil">StubExoPlayer</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> implementation that throws <a href="https://developer.android.com/reference/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="externalLink" target="_top"><code>UnsupportedOperationException</code></a>
 from every method.</div>
</th>
</tr>
<tr id="i995" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerControlView.html" title="class in com.google.android.exoplayer2.ui">StyledPlayerControlView</a></td>
<th class="colLast" scope="row">
<div class="block">A view for controlling <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> instances.</div>
</th>
</tr>
<tr id="i996" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerControlView.OnFullScreenModeChangedListener.html" title="interface in com.google.android.exoplayer2.ui">StyledPlayerControlView.OnFullScreenModeChangedListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be invoked to inform the fullscreen mode is changed.</div>
</th>
</tr>
<tr id="i997" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerControlView.ProgressUpdateListener.html" title="interface in com.google.android.exoplayer2.ui">StyledPlayerControlView.ProgressUpdateListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be notified when progress has been updated.</div>
</th>
</tr>
<tr id="i998" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerControlView.VisibilityListener.html" title="interface in com.google.android.exoplayer2.ui">StyledPlayerControlView.VisibilityListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener to be notified about changes of the visibility of the UI control.</div>
</th>
</tr>
<tr id="i999" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerView.html" title="class in com.google.android.exoplayer2.ui">StyledPlayerView</a></td>
<th class="colLast" scope="row">
<div class="block">A high level view for <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a> media playbacks.</div>
</th>
</tr>
<tr id="i1000" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/StyledPlayerView.ShowBuffering.html" title="annotation in com.google.android.exoplayer2.ui">StyledPlayerView.ShowBuffering</a></td>
<th class="colLast" scope="row">
<div class="block">Determines when the buffering view is shown.</div>
</th>
</tr>
<tr id="i1001" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/subrip/SubripDecoder.html" title="class in com.google.android.exoplayer2.text.subrip">SubripDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for SubRip.</div>
</th>
</tr>
<tr id="i1002" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/Subtitle.html" title="interface in com.google.android.exoplayer2.text">Subtitle</a></td>
<th class="colLast" scope="row">
<div class="block">A subtitle consisting of timed <a href="com/google/android/exoplayer2/text/Cue.html" title="class in com.google.android.exoplayer2.text"><code>Cue</code></a>s.</div>
</th>
</tr>
<tr id="i1003" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text">SubtitleDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Decodes <a href="com/google/android/exoplayer2/text/Subtitle.html" title="interface in com.google.android.exoplayer2.text"><code>Subtitle</code></a>s from <a href="com/google/android/exoplayer2/text/SubtitleInputBuffer.html" title="class in com.google.android.exoplayer2.text"><code>SubtitleInputBuffer</code></a>s.</div>
</th>
</tr>
<tr id="i1004" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SubtitleDecoderException.html" title="class in com.google.android.exoplayer2.text">SubtitleDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error occurs decoding subtitle data.</div>
</th>
</tr>
<tr id="i1005" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SubtitleDecoderFactory.html" title="interface in com.google.android.exoplayer2.text">SubtitleDecoderFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text"><code>SubtitleDecoder</code></a> instances.</div>
</th>
</tr>
<tr id="i1006" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SubtitleInputBuffer.html" title="class in com.google.android.exoplayer2.text">SubtitleInputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/decoder/DecoderInputBuffer.html" title="class in com.google.android.exoplayer2.decoder"><code>DecoderInputBuffer</code></a> for a <a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text"><code>SubtitleDecoder</code></a>.</div>
</th>
</tr>
<tr id="i1007" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/SubtitleOutputBuffer.html" title="class in com.google.android.exoplayer2.text">SubtitleOutputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for <a href="com/google/android/exoplayer2/text/SubtitleDecoder.html" title="interface in com.google.android.exoplayer2.text"><code>SubtitleDecoder</code></a> output buffers.</div>
</th>
</tr>
<tr id="i1008" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/SubtitleView.html" title="class in com.google.android.exoplayer2.ui">SubtitleView</a></td>
<th class="colLast" scope="row">
<div class="block">A view for displaying subtitle <a href="com/google/android/exoplayer2/text/Cue.html" title="class in com.google.android.exoplayer2.text"><code>Cue</code></a>s.</div>
</th>
</tr>
<tr id="i1009" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/SubtitleView.ViewType.html" title="annotation in com.google.android.exoplayer2.ui">SubtitleView.ViewType</a></td>
<th class="colLast" scope="row">
<div class="block">The type of <a href="https://developer.android.com/reference/android/view/View.html" title="class or interface in android.view" class="externalLink" target="_top"><code>View</code></a> to use to display subtitles.</div>
</th>
</tr>
<tr id="i1010" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html" title="interface in com.google.android.exoplayer2.mediacodec"><code>MediaCodecAdapter</code></a> that operates the underlying <a href="https://developer.android.com/reference/android/media/MediaCodec.html" title="class or interface in android.media" class="externalLink" target="_top"><code>MediaCodec</code></a> in synchronous mode.</div>
</th>
</tr>
<tr id="i1011" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html" title="class in com.google.android.exoplayer2.mediacodec">SynchronousMediaCodecAdapter.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">A factory for <a href="com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html" title="class in com.google.android.exoplayer2.mediacodec"><code>SynchronousMediaCodecAdapter</code></a> instances.</div>
</th>
</tr>
<tr id="i1012" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/SystemClock.html" title="class in com.google.android.exoplayer2.util">SystemClock</a></td>
<th class="colLast" scope="row">
<div class="block">The standard implementation of <a href="com/google/android/exoplayer2/util/Clock.html" title="interface in com.google.android.exoplayer2.util"><code>Clock</code></a>, an instance of which is available via <a href="com/google/android/exoplayer2/util/Clock.html#DEFAULT"><code>Clock.DEFAULT</code></a>.</div>
</th>
</tr>
<tr id="i1013" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/TeeAudioProcessor.html" title="class in com.google.android.exoplayer2.audio">TeeAudioProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">Audio processor that outputs its input unmodified and also outputs its input to a given sink.</div>
</th>
</tr>
<tr id="i1014" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/TeeAudioProcessor.AudioBufferSink.html" title="interface in com.google.android.exoplayer2.audio">TeeAudioProcessor.AudioBufferSink</a></td>
<th class="colLast" scope="row">
<div class="block">A sink for audio buffers handled by the audio processor.</div>
</th>
</tr>
<tr id="i1015" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/TeeAudioProcessor.WavFileAudioBufferSink.html" title="class in com.google.android.exoplayer2.audio">TeeAudioProcessor.WavFileAudioBufferSink</a></td>
<th class="colLast" scope="row">
<div class="block">A sink for audio buffers that writes output audio as .wav files with a given path prefix.</div>
</th>
</tr>
<tr id="i1016" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/TeeDataSource.html" title="class in com.google.android.exoplayer2.upstream">TeeDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">Tees data into a <a href="com/google/android/exoplayer2/upstream/DataSink.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSink</code></a> as the data is read.</div>
</th>
</tr>
<tr id="i1017" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/TestDownloadManagerListener.html" title="class in com.google.android.exoplayer2.robolectric">TestDownloadManagerListener</a></td>
<th class="colLast" scope="row">
<div class="block">Allows tests to block for, and assert properties of, calls from a <a href="com/google/android/exoplayer2/offline/DownloadManager.html" title="class in com.google.android.exoplayer2.offline"><code>DownloadManager</code></a> to its
 <a href="com/google/android/exoplayer2/offline/DownloadManager.Listener.html" title="interface in com.google.android.exoplayer2.offline"><code>DownloadManager.Listener</code></a>.</div>
</th>
</tr>
<tr id="i1018" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/TestExoPlayerBuilder.html" title="class in com.google.android.exoplayer2.testutil">TestExoPlayerBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder of <a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer</code></a> instances for testing.</div>
</th>
</tr>
<tr id="i1019" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.html" title="class in com.google.android.exoplayer2.robolectric">TestPlayerRunHelper</a></td>
<th class="colLast" scope="row">
<div class="block">Helper methods to block the calling thread until the provided <a href="com/google/android/exoplayer2/SimpleExoPlayer.html" title="class in com.google.android.exoplayer2"><code>SimpleExoPlayer</code></a> instance
 reaches a particular state.</div>
</th>
</tr>
<tr id="i1020" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/TestUtil.html" title="class in com.google.android.exoplayer2.testutil">TestUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for tests.</div>
</th>
</tr>
<tr id="i1021" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/TextAnnotation.html" title="class in com.google.android.exoplayer2.text.span">TextAnnotation</a></td>
<th class="colLast" scope="row">
<div class="block">Properties of a text annotation (i.e.</div>
</th>
</tr>
<tr id="i1022" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/TextAnnotation.Position.html" title="annotation in com.google.android.exoplayer2.text.span">TextAnnotation.Position</a></td>
<th class="colLast" scope="row">
<div class="block">The possible positions of the annotation text relative to the base text.</div>
</th>
</tr>
<tr id="i1023" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/TextEmphasisSpan.html" title="class in com.google.android.exoplayer2.text.span">TextEmphasisSpan</a></td>
<th class="colLast" scope="row">
<div class="block">A styling span for text emphasis marks.</div>
</th>
</tr>
<tr id="i1024" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkFill.html" title="annotation in com.google.android.exoplayer2.text.span">TextEmphasisSpan.MarkFill</a></td>
<th class="colLast" scope="row">
<div class="block">The possible mark fills that can be used.</div>
</th>
</tr>
<tr id="i1025" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkShape.html" title="annotation in com.google.android.exoplayer2.text.span">TextEmphasisSpan.MarkShape</a></td>
<th class="colLast" scope="row">
<div class="block">The possible mark shapes that can be used.</div>
</th>
</tr>
<tr id="i1026" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">TextInformationFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Text information ID3 frame.</div>
</th>
</tr>
<tr id="i1027" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/TextOutput.html" title="interface in com.google.android.exoplayer2.text">TextOutput</a></td>
<th class="colLast" scope="row">
<div class="block">Receives text output.</div>
</th>
</tr>
<tr id="i1028" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/TextRenderer.html" title="class in com.google.android.exoplayer2.text">TextRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">A renderer for text.</div>
</th>
</tr>
<tr id="i1029" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ThumbRating.html" title="class in com.google.android.exoplayer2">ThumbRating</a></td>
<th class="colLast" scope="row">
<div class="block">A rating expressed as "thumbs up" or "thumbs down".</div>
</th>
</tr>
<tr id="i1030" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TimeBar.html" title="interface in com.google.android.exoplayer2.ui">TimeBar</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for time bar views that can display a playback position, buffered position, duration
 and ad markers, and that have a listener for scrubbing (seeking) events.</div>
</th>
</tr>
<tr id="i1031" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html" title="interface in com.google.android.exoplayer2.ui">TimeBar.OnScrubListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for scrubbing events.</div>
</th>
</tr>
<tr id="i1032" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/TimedValueQueue.html" title="class in com.google.android.exoplayer2.util">TimedValueQueue</a>&lt;<a href="com/google/android/exoplayer2/util/TimedValueQueue.html" title="type parameter in TimedValueQueue">V</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">A utility class to keep a queue of values with timestamps.</div>
</th>
</tr>
<tr id="i1033" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2">Timeline</a></td>
<th class="colLast" scope="row">
<div class="block">A flexible representation of the structure of media.</div>
</th>
</tr>
<tr id="i1034" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Timeline.Period.html" title="class in com.google.android.exoplayer2">Timeline.Period</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a period in a <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>.</div>
</th>
</tr>
<tr id="i1035" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/Timeline.Window.html" title="class in com.google.android.exoplayer2">Timeline.Window</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a window in a <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>.</div>
</th>
</tr>
<tr id="i1036" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/TimelineAsserts.html" title="class in com.google.android.exoplayer2.testutil">TimelineAsserts</a></td>
<th class="colLast" scope="row">
<div class="block">Assertion methods for <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a>.</div>
</th>
</tr>
<tr id="i1037" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.html" title="class in com.google.android.exoplayer2.ext.mediasession">TimelineQueueEditor</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html" title="interface in com.google.android.exoplayer2.ext.mediasession"><code>MediaSessionConnector.QueueEditor</code></a> implementation.</div>
</th>
</tr>
<tr id="i1038" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaDescriptionConverter.html" title="interface in com.google.android.exoplayer2.ext.mediasession">TimelineQueueEditor.MediaDescriptionConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converts a <code>MediaDescriptionCompat</code> to a <a href="com/google/android/exoplayer2/MediaItem.html" title="class in com.google.android.exoplayer2"><code>MediaItem</code></a>.</div>
</th>
</tr>
<tr id="i1039" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaIdEqualityChecker.html" title="class in com.google.android.exoplayer2.ext.mediasession">TimelineQueueEditor.MediaIdEqualityChecker</a></td>
<th class="colLast" scope="row">
<div class="block">Media description comparator comparing the media IDs.</div>
</th>
</tr>
<tr id="i1040" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.QueueDataAdapter.html" title="interface in com.google.android.exoplayer2.ext.mediasession">TimelineQueueEditor.QueueDataAdapter</a></td>
<th class="colLast" scope="row">
<div class="block">Adapter to get <code>MediaDescriptionCompat</code> of items in the queue and to notify the
 application about changes in the queue to sync the data structure backing the
 <a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html" title="class in com.google.android.exoplayer2.ext.mediasession"><code>MediaSessionConnector</code></a>.</div>
</th>
</tr>
<tr id="i1041" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html" title="class in com.google.android.exoplayer2.ext.mediasession">TimelineQueueNavigator</a></td>
<th class="colLast" scope="row">
<div class="block">An abstract implementation of the <a href="com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html" title="interface in com.google.android.exoplayer2.ext.mediasession"><code>MediaSessionConnector.QueueNavigator</code></a> that maps the
 windows of a <a href="com/google/android/exoplayer2/Player.html" title="interface in com.google.android.exoplayer2"><code>Player</code></a>'s <a href="com/google/android/exoplayer2/Timeline.html" title="class in com.google.android.exoplayer2"><code>Timeline</code></a> to the media session queue.</div>
</th>
</tr>
<tr id="i1042" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/scte35/TimeSignalCommand.html" title="class in com.google.android.exoplayer2.metadata.scte35">TimeSignalCommand</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a time signal command as defined in SCTE35, Section 9.3.4.</div>
</th>
</tr>
<tr id="i1043" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/TimestampAdjuster.html" title="class in com.google.android.exoplayer2.util">TimestampAdjuster</a></td>
<th class="colLast" scope="row">
<div class="block">Offsets timestamps according to an initial sample timestamp offset.</div>
</th>
</tr>
<tr id="i1044" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.html" title="class in com.google.android.exoplayer2.source.hls">TimestampAdjusterProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Provides <a href="com/google/android/exoplayer2/util/TimestampAdjuster.html" title="class in com.google.android.exoplayer2.util"><code>TimestampAdjuster</code></a> instances for use during HLS playbacks.</div>
</th>
</tr>
<tr id="i1045" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/TimeToFirstByteEstimator.html" title="interface in com.google.android.exoplayer2.upstream">TimeToFirstByteEstimator</a></td>
<th class="colLast" scope="row">
<div class="block">Provides an estimate of the time to first byte of a transfer.</div>
</th>
</tr>
<tr id="i1046" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/TraceUtil.html" title="class in com.google.android.exoplayer2.util">TraceUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Calls through to <a href="https://developer.android.com/reference/android/os/Trace.html" title="class or interface in android.os" class="externalLink" target="_top"><code>Trace</code></a> methods on supported API levels.</div>
</th>
</tr>
<tr id="i1047" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/Track.html" title="class in com.google.android.exoplayer2.extractor.mp4">Track</a></td>
<th class="colLast" scope="row">
<div class="block">Encapsulates information describing an MP4 track.</div>
</th>
</tr>
<tr id="i1048" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/Track.Transformation.html" title="annotation in com.google.android.exoplayer2.extractor.mp4">Track.Transformation</a></td>
<th class="colLast" scope="row">
<div class="block">The transformation to apply to samples in the track, if any.</div>
</th>
</tr>
<tr id="i1049" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/mp4/TrackEncryptionBox.html" title="class in com.google.android.exoplayer2.extractor.mp4">TrackEncryptionBox</a></td>
<th class="colLast" scope="row">
<div class="block">Encapsulates information parsed from a track encryption (tenc) box or sample group description
 (sgpd) box in an MP4 stream.</div>
</th>
</tr>
<tr id="i1050" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source">TrackGroup</a></td>
<th class="colLast" scope="row">
<div class="block">Defines an immutable group of tracks identified by their format identity.</div>
</th>
</tr>
<tr id="i1051" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/TrackGroupArray.html" title="class in com.google.android.exoplayer2.source">TrackGroupArray</a></td>
<th class="colLast" scope="row">
<div class="block">An immutable array of <a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a>s.</div>
</th>
</tr>
<tr id="i1052" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TrackNameProvider.html" title="interface in com.google.android.exoplayer2.ui">TrackNameProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Converts <a href="com/google/android/exoplayer2/Format.html" title="class in com.google.android.exoplayer2"><code>Format</code></a>s to user readable track names.</div>
</th>
</tr>
<tr id="i1053" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor">TrackOutput</a></td>
<th class="colLast" scope="row">
<div class="block">Receives track level data extracted by an <a href="com/google/android/exoplayer2/extractor/Extractor.html" title="interface in com.google.android.exoplayer2.extractor"><code>Extractor</code></a>.</div>
</th>
</tr>
<tr id="i1054" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/TrackOutput.CryptoData.html" title="class in com.google.android.exoplayer2.extractor">TrackOutput.CryptoData</a></td>
<th class="colLast" scope="row">
<div class="block">Holds data required to decrypt a sample.</div>
</th>
</tr>
<tr id="i1055" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/TrackOutput.SampleDataPart.html" title="annotation in com.google.android.exoplayer2.extractor">TrackOutput.SampleDataPart</a></td>
<th class="colLast" scope="row">
<div class="block">Defines the part of the sample data to which a call to <a href="com/google/android/exoplayer2/extractor/TrackOutput.html#sampleData(com.google.android.exoplayer2.upstream.DataReader,int,boolean)"><code>TrackOutput.sampleData(com.google.android.exoplayer2.upstream.DataReader, int, boolean)</code></a> corresponds.</div>
</th>
</tr>
<tr id="i1056" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection">TrackSelection</a></td>
<th class="colLast" scope="row">
<div class="block">A track selection consisting of a static subset of selected tracks belonging to a <a href="com/google/android/exoplayer2/source/TrackGroup.html" title="class in com.google.android.exoplayer2.source"><code>TrackGroup</code></a>.</div>
</th>
</tr>
<tr id="i1057" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectionArray.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionArray</a></td>
<th class="colLast" scope="row">
<div class="block">An array of <a href="com/google/android/exoplayer2/trackselection/TrackSelection.html" title="interface in com.google.android.exoplayer2.trackselection"><code>TrackSelection</code></a>s.</div>
</th>
</tr>
<tr id="i1058" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.html" title="class in com.google.android.exoplayer2.ui">TrackSelectionDialogBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for a dialog with a <a href="com/google/android/exoplayer2/ui/TrackSelectionView.html" title="class in com.google.android.exoplayer2.ui"><code>TrackSelectionView</code></a>.</div>
</th>
</tr>
<tr id="i1059" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.DialogCallback.html" title="interface in com.google.android.exoplayer2.ui">TrackSelectionDialogBuilder.DialogCallback</a></td>
<th class="colLast" scope="row">
<div class="block">Callback which is invoked when a track selection has been made.</div>
</th>
</tr>
<tr id="i1060" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters</a></td>
<th class="colLast" scope="row">
<div class="block">Constraint parameters for track selection.</div>
</th>
</tr>
<tr id="i1061" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectionParameters.Builder.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionParameters.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelectionParameters</code></a>.</div>
</th>
</tr>
<tr id="i1062" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectionUtil.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectionUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Track selection related utility methods.</div>
</th>
</tr>
<tr id="i1063" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory.html" title="interface in com.google.android.exoplayer2.trackselection">TrackSelectionUtil.AdaptiveTrackSelectionFactory</a></td>
<th class="colLast" scope="row">
<div class="block">Functional interface to create a single adaptive track selection.</div>
</th>
</tr>
<tr id="i1064" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TrackSelectionView.html" title="class in com.google.android.exoplayer2.ui">TrackSelectionView</a></td>
<th class="colLast" scope="row">
<div class="block">A view for making track selections.</div>
</th>
</tr>
<tr id="i1065" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ui/TrackSelectionView.TrackSelectionListener.html" title="interface in com.google.android.exoplayer2.ui">TrackSelectionView.TrackSelectionListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener for changes to the selected tracks.</div>
</th>
</tr>
<tr id="i1066" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelector</a></td>
<th class="colLast" scope="row">
<div class="block">The component of an <a href="com/google/android/exoplayer2/ExoPlayer.html" title="interface in com.google.android.exoplayer2"><code>ExoPlayer</code></a> responsible for selecting tracks to be consumed by each of
 the player's <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a>s.</div>
</th>
</tr>
<tr id="i1067" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelector.InvalidationListener.html" title="interface in com.google.android.exoplayer2.trackselection">TrackSelector.InvalidationListener</a></td>
<th class="colLast" scope="row">
<div class="block">Notified when selections previously made by a <a href="com/google/android/exoplayer2/trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a> are no longer valid.</div>
</th>
</tr>
<tr id="i1068" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/trackselection/TrackSelectorResult.html" title="class in com.google.android.exoplayer2.trackselection">TrackSelectorResult</a></td>
<th class="colLast" scope="row">
<div class="block">The result of a <a href="com/google/android/exoplayer2/trackselection/TrackSelector.html" title="class in com.google.android.exoplayer2.trackselection"><code>TrackSelector</code></a> operation.</div>
</th>
</tr>
<tr id="i1069" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/TransferListener.html" title="interface in com.google.android.exoplayer2.upstream">TransferListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener of data transfer events.</div>
</th>
</tr>
<tr id="i1070" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/transformer/Transformer.html" title="class in com.google.android.exoplayer2.transformer">Transformer</a></td>
<th class="colLast" scope="row">
<div class="block">A transformer to transform media inputs.</div>
</th>
</tr>
<tr id="i1071" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/transformer/Transformer.Builder.html" title="class in com.google.android.exoplayer2.transformer">Transformer.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for <a href="com/google/android/exoplayer2/transformer/Transformer.html" title="class in com.google.android.exoplayer2.transformer"><code>Transformer</code></a> instances.</div>
</th>
</tr>
<tr id="i1072" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/transformer/Transformer.Listener.html" title="interface in com.google.android.exoplayer2.transformer">Transformer.Listener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for the transformation events.</div>
</th>
</tr>
<tr id="i1073" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/transformer/Transformer.ProgressState.html" title="annotation in com.google.android.exoplayer2.transformer">Transformer.ProgressState</a></td>
<th class="colLast" scope="row">
<div class="block">Progress state.</div>
</th>
</tr>
<tr id="i1074" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsExtractor.html" title="class in com.google.android.exoplayer2.extractor.ts">TsExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from the MPEG-2 TS container format.</div>
</th>
</tr>
<tr id="i1075" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsExtractor.Mode.html" title="annotation in com.google.android.exoplayer2.extractor.ts">TsExtractor.Mode</a></td>
<th class="colLast" scope="row">
<div class="block">Modes for the extractor.</div>
</th>
</tr>
<tr id="i1076" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts">TsPayloadReader</a></td>
<th class="colLast" scope="row">
<div class="block">Parses TS packet payload data.</div>
</th>
</tr>
<tr id="i1077" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.DvbSubtitleInfo.html" title="class in com.google.android.exoplayer2.extractor.ts">TsPayloadReader.DvbSubtitleInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information about a DVB subtitle, as defined in ETSI EN 300 468 V1.11.1 section 6.2.41.</div>
</th>
</tr>
<tr id="i1078" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.EsInfo.html" title="class in com.google.android.exoplayer2.extractor.ts">TsPayloadReader.EsInfo</a></td>
<th class="colLast" scope="row">
<div class="block">Holds information associated with a PMT entry.</div>
</th>
</tr>
<tr id="i1079" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html" title="interface in com.google.android.exoplayer2.extractor.ts">TsPayloadReader.Factory</a></td>
<th class="colLast" scope="row">
<div class="block">Factory of <a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><code>TsPayloadReader</code></a> instances.</div>
</th>
</tr>
<tr id="i1080" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Flags.html" title="annotation in com.google.android.exoplayer2.extractor.ts">TsPayloadReader.Flags</a></td>
<th class="colLast" scope="row">
<div class="block">Contextual flags indicating the presence of indicators in the TS packet or PES packet headers.</div>
</th>
</tr>
<tr id="i1081" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.TrackIdGenerator.html" title="class in com.google.android.exoplayer2.extractor.ts">TsPayloadReader.TrackIdGenerator</a></td>
<th class="colLast" scope="row">
<div class="block">Generates track ids for initializing <a href="com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html" title="interface in com.google.android.exoplayer2.extractor.ts"><code>TsPayloadReader</code></a>s' <a href="com/google/android/exoplayer2/extractor/TrackOutput.html" title="interface in com.google.android.exoplayer2.extractor"><code>TrackOutput</code></a>s.</div>
</th>
</tr>
<tr id="i1082" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/ts/TsUtil.html" title="class in com.google.android.exoplayer2.extractor.ts">TsUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utilities method for extracting MPEG-TS streams.</div>
</th>
</tr>
<tr id="i1083" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/ttml/TtmlDecoder.html" title="class in com.google.android.exoplayer2.text.ttml">TtmlDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for TTML supporting the DFXP presentation profile.</div>
</th>
</tr>
<tr id="i1084" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/tx3g/Tx3gDecoder.html" title="class in com.google.android.exoplayer2.text.tx3g">Tx3gDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for tx3g.</div>
</th>
</tr>
<tr id="i1085" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/UdpDataSource.html" title="class in com.google.android.exoplayer2.upstream">UdpDataSource</a></td>
<th class="colLast" scope="row">
<div class="block">A UDP <a href="com/google/android/exoplayer2/upstream/DataSource.html" title="interface in com.google.android.exoplayer2.upstream"><code>DataSource</code></a>.</div>
</th>
</tr>
<tr id="i1086" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/upstream/UdpDataSource.UdpDataSourceException.html" title="class in com.google.android.exoplayer2.upstream">UdpDataSource.UdpDataSourceException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when an error is encountered when trying to read from a <a href="com/google/android/exoplayer2/upstream/UdpDataSource.html" title="class in com.google.android.exoplayer2.upstream"><code>UdpDataSource</code></a>.</div>
</th>
</tr>
<tr id="i1087" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/UnknownNull.html" title="annotation in com.google.android.exoplayer2.util">UnknownNull</a></td>
<th class="colLast" scope="row">
<div class="block">Annotation for specifying unknown nullness.</div>
</th>
</tr>
<tr id="i1088" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/UnrecognizedInputFormatException.html" title="class in com.google.android.exoplayer2.source">UnrecognizedInputFormatException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown if the input format was not recognized.</div>
</th>
</tr>
<tr id="i1089" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/UnsupportedDrmException.html" title="class in com.google.android.exoplayer2.drm">UnsupportedDrmException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when the requested DRM scheme is not supported.</div>
</th>
</tr>
<tr id="i1090" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/UnsupportedDrmException.Reason.html" title="annotation in com.google.android.exoplayer2.drm">UnsupportedDrmException.Reason</a></td>
<th class="colLast" scope="row">
<div class="block">The reason for the exception.</div>
</th>
</tr>
<tr id="i1091" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/UnsupportedMediaCrypto.html" title="class in com.google.android.exoplayer2.drm">UnsupportedMediaCrypto</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="com/google/android/exoplayer2/drm/ExoMediaCrypto.html" title="interface in com.google.android.exoplayer2.drm"><code>ExoMediaCrypto</code></a> type that cannot be used to handle any type of protected content.</div>
</th>
</tr>
<tr id="i1092" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/UriUtil.html" title="class in com.google.android.exoplayer2.util">UriUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for manipulating URIs.</div>
</th>
</tr>
<tr id="i1093" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.html" title="class in com.google.android.exoplayer2.metadata.id3">UrlLinkFrame</a></td>
<th class="colLast" scope="row">
<div class="block">Url link ID3 frame.</div>
</th>
</tr>
<tr id="i1094" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/UrlTemplate.html" title="class in com.google.android.exoplayer2.source.dash.manifest">UrlTemplate</a></td>
<th class="colLast" scope="row">
<div class="block">A template from which URLs can be built.</div>
</th>
</tr>
<tr id="i1095" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/dash/manifest/UtcTimingElement.html" title="class in com.google.android.exoplayer2.source.dash.manifest">UtcTimingElement</a></td>
<th class="colLast" scope="row">
<div class="block">Represents a UTCTiming element.</div>
</th>
</tr>
<tr id="i1096" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/Util.html" title="class in com.google.android.exoplayer2.util">Util</a></td>
<th class="colLast" scope="row">
<div class="block">Miscellaneous utility methods.</div>
</th>
</tr>
<tr id="i1097" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/database/VersionTable.html" title="class in com.google.android.exoplayer2.database">VersionTable</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for accessing versions of ExoPlayer database components.</div>
</th>
</tr>
<tr id="i1098" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoDecoderGLSurfaceView.html" title="class in com.google.android.exoplayer2.video">VideoDecoderGLSurfaceView</a></td>
<th class="colLast" scope="row">
<div class="block">GLSurfaceView implementing <a href="com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html" title="interface in com.google.android.exoplayer2.video"><code>VideoDecoderOutputBufferRenderer</code></a> for rendering <a href="com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.video"><code>VideoDecoderOutputBuffers</code></a>.</div>
</th>
</tr>
<tr id="i1099" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoDecoderInputBuffer.html" title="class in com.google.android.exoplayer2.video">VideoDecoderInputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Input buffer to a video decoder.</div>
</th>
</tr>
<tr id="i1100" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.video">VideoDecoderOutputBuffer</a></td>
<th class="colLast" scope="row">
<div class="block">Video decoder output buffer containing video frame data.</div>
</th>
</tr>
<tr id="i1101" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html" title="interface in com.google.android.exoplayer2.video">VideoDecoderOutputBufferRenderer</a></td>
<th class="colLast" scope="row">
<div class="block">Renders the <a href="com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.video"><code>VideoDecoderOutputBuffer</code></a>.</div>
</th>
</tr>
<tr id="i1102" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoFrameMetadataListener.html" title="interface in com.google.android.exoplayer2.video">VideoFrameMetadataListener</a></td>
<th class="colLast" scope="row">
<div class="block">A listener for metadata corresponding to video frames being rendered.</div>
</th>
</tr>
<tr id="i1103" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoFrameReleaseHelper.html" title="class in com.google.android.exoplayer2.video">VideoFrameReleaseHelper</a></td>
<th class="colLast" scope="row">
<div class="block">Helps a video <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> release frames to a <a href="https://developer.android.com/reference/android/view/Surface.html" title="class or interface in android.view" class="externalLink" target="_top"><code>Surface</code></a>.</div>
</th>
</tr>
<tr id="i1104" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoListener.html" title="interface in com.google.android.exoplayer2.video">VideoListener</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/Player.Listener.html" title="interface in com.google.android.exoplayer2"><code>Player.Listener</code></a>.</div>
</th>
</tr>
<tr id="i1105" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoRendererEventListener.html" title="interface in com.google.android.exoplayer2.video">VideoRendererEventListener</a></td>
<th class="colLast" scope="row">
<div class="block">Listener of video <a href="com/google/android/exoplayer2/Renderer.html" title="interface in com.google.android.exoplayer2"><code>Renderer</code></a> events.</div>
</th>
</tr>
<tr id="i1106" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoRendererEventListener.EventDispatcher.html" title="class in com.google.android.exoplayer2.video">VideoRendererEventListener.EventDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">Dispatches events to a <a href="com/google/android/exoplayer2/video/VideoRendererEventListener.html" title="interface in com.google.android.exoplayer2.video"><code>VideoRendererEventListener</code></a>.</div>
</th>
</tr>
<tr id="i1107" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/video/VideoSize.html" title="class in com.google.android.exoplayer2.video">VideoSize</a></td>
<th class="colLast" scope="row">
<div class="block">Represents the video size.</div>
</th>
</tr>
<tr id="i1108" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/VorbisBitArray.html" title="class in com.google.android.exoplayer2.extractor">VorbisBitArray</a></td>
<th class="colLast" scope="row">
<div class="block">Wraps a byte array, providing methods that allow it to be read as a Vorbis bitstream.</div>
</th>
</tr>
<tr id="i1109" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/metadata/flac/VorbisComment.html" title="class in com.google.android.exoplayer2.metadata.flac">VorbisComment</a></td>
<th class="colLast" scope="row">
<div class="block">A vorbis comment.</div>
</th>
</tr>
<tr id="i1110" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/VorbisUtil.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for parsing Vorbis streams.</div>
</th>
</tr>
<tr id="i1111" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil.CommentHeader</a></td>
<th class="colLast" scope="row">
<div class="block">Vorbis comment header.</div>
</th>
</tr>
<tr id="i1112" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil.Mode</a></td>
<th class="colLast" scope="row">
<div class="block">Vorbis setup header modes.</div>
</th>
</tr>
<tr id="i1113" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/VorbisUtil.VorbisIdHeader.html" title="class in com.google.android.exoplayer2.extractor">VorbisUtil.VorbisIdHeader</a></td>
<th class="colLast" scope="row">
<div class="block">Vorbis identification header.</div>
</th>
</tr>
<tr id="i1114" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/vp9/VpxDecoder.html" title="class in com.google.android.exoplayer2.ext.vp9">VpxDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">Vpx decoder.</div>
</th>
</tr>
<tr id="i1115" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/vp9/VpxDecoderException.html" title="class in com.google.android.exoplayer2.ext.vp9">VpxDecoderException</a></td>
<th class="colLast" scope="row">
<div class="block">Thrown when a libvpx decoder error occurs.</div>
</th>
</tr>
<tr id="i1116" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/vp9/VpxLibrary.html" title="class in com.google.android.exoplayer2.ext.vp9">VpxLibrary</a></td>
<th class="colLast" scope="row">
<div class="block">Configures and queries the underlying native library.</div>
</th>
</tr>
<tr id="i1117" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/vp9/VpxOutputBuffer.html" title="class in com.google.android.exoplayer2.ext.vp9">VpxOutputBuffer</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html" title="class in com.google.android.exoplayer2.video"><code>VideoDecoderOutputBuffer</code></a> instead.</div>
</th>
</tr>
<tr id="i1118" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/extractor/wav/WavExtractor.html" title="class in com.google.android.exoplayer2.extractor.wav">WavExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">Extracts data from WAV byte streams.</div>
</th>
</tr>
<tr id="i1119" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/audio/WavUtil.html" title="class in com.google.android.exoplayer2.audio">WavUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utilities for handling WAVE files.</div>
</th>
</tr>
<tr id="i1120" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/WebServerDispatcher.html" title="class in com.google.android.exoplayer2.testutil">WebServerDispatcher</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>Dispatcher</code> for <code>MockWebServer</code> that allows per-path
 customisation of the static data served.</div>
</th>
</tr>
<tr id="i1121" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html" title="class in com.google.android.exoplayer2.testutil">WebServerDispatcher.Resource</a></td>
<th class="colLast" scope="row">
<div class="block">A resource served by <a href="com/google/android/exoplayer2/testutil/WebServerDispatcher.html" title="class in com.google.android.exoplayer2.testutil"><code>WebServerDispatcher</code></a>.</div>
</th>
</tr>
<tr id="i1122" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.Builder.html" title="class in com.google.android.exoplayer2.testutil">WebServerDispatcher.Resource.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder for <a href="com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html" title="class in com.google.android.exoplayer2.testutil"><code>WebServerDispatcher.Resource</code></a>.</div>
</th>
</tr>
<tr id="i1123" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.html" title="class in com.google.android.exoplayer2.text.webvtt">WebvttCssStyle</a></td>
<th class="colLast" scope="row">
<div class="block">Style object of a Css style block in a Webvtt file.</div>
</th>
</tr>
<tr id="i1124" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.FontSizeUnit.html" title="annotation in com.google.android.exoplayer2.text.webvtt">WebvttCssStyle.FontSizeUnit</a></td>
<th class="colLast" scope="row">
<div class="block">Font size unit enum.</div>
</th>
</tr>
<tr id="i1125" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.StyleFlags.html" title="annotation in com.google.android.exoplayer2.text.webvtt">WebvttCssStyle.StyleFlags</a></td>
<th class="colLast" scope="row">
<div class="block">Style flag enum.</div>
</th>
</tr>
<tr id="i1126" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttCueInfo.html" title="class in com.google.android.exoplayer2.text.webvtt">WebvttCueInfo</a></td>
<th class="colLast" scope="row">
<div class="block">A representation of a WebVTT cue.</div>
</th>
</tr>
<tr id="i1127" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttCueParser.html" title="class in com.google.android.exoplayer2.text.webvtt">WebvttCueParser</a></td>
<th class="colLast" scope="row">
<div class="block">Parser for WebVTT cues.</div>
</th>
</tr>
<tr id="i1128" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttDecoder.html" title="class in com.google.android.exoplayer2.text.webvtt">WebvttDecoder</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html" title="class in com.google.android.exoplayer2.text"><code>SimpleSubtitleDecoder</code></a> for WebVTT.</div>
</th>
</tr>
<tr id="i1129" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/source/hls/WebvttExtractor.html" title="class in com.google.android.exoplayer2.source.hls">WebvttExtractor</a></td>
<th class="colLast" scope="row">
<div class="block">A special purpose extractor for WebVTT content in HLS.</div>
</th>
</tr>
<tr id="i1130" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/text/webvtt/WebvttParserUtil.html" title="class in com.google.android.exoplayer2.text.webvtt">WebvttParserUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for parsing WebVTT data.</div>
</th>
</tr>
<tr id="i1131" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/drm/WidevineUtil.html" title="class in com.google.android.exoplayer2.drm">WidevineUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Utility methods for Widevine.</div>
</th>
</tr>
<tr id="i1132" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler</a></td>
<th class="colLast" scope="row">
<div class="block">A <a href="com/google/android/exoplayer2/scheduler/Scheduler.html" title="interface in com.google.android.exoplayer2.scheduler"><code>Scheduler</code></a> that uses <code>WorkManager</code>.</div>
</th>
</tr>
<tr id="i1133" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html" title="class in com.google.android.exoplayer2.ext.workmanager">WorkManagerScheduler.SchedulerWorker</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>Worker</code> that starts the target service if the requirements are met.</div>
</th>
</tr>
<tr id="i1134" class="altColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/offline/WritableDownloadIndex.html" title="interface in com.google.android.exoplayer2.offline">WritableDownloadIndex</a></td>
<th class="colLast" scope="row">
<div class="block">A writable index of <a href="com/google/android/exoplayer2/offline/Download.html" title="class in com.google.android.exoplayer2.offline"><code>Downloads</code></a>.</div>
</th>
</tr>
<tr id="i1135" class="rowColor">
<td class="colFirst"><a href="com/google/android/exoplayer2/util/XmlPullParserUtil.html" title="class in com.google.android.exoplayer2.util">XmlPullParserUtil</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html" title="class or interface in org.xmlpull.v1" class="externalLink" target="_top"><code>XmlPullParser</code></a> utility methods.</div>
</th>
</tr>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
